Какова истинная цель установки JavaScriptCanOpenWindowsAutomatically?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Какова истинная цель установки JavaScriptCanOpenWindowsAutomatically?

Сообщение Anonymous »

Согласно документу Android:


Указывает JavaScript автоматически открывать окна. Это относится к функции JavaScript window.open(). По умолчанию установлено значение false.


Но я не увидел никакой разницы между использованием или неиспользованием этого API в моем коде, window.open. в обоих случаях работает нормально, так какова истинная цель этого API или мое использование неверно?

Пример моего кода показан ниже:

public class MainActivity extends Activity {
private WebView mWebView;
//private Context mContext
RelativeLayout mParent;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

mParent = new RelativeLayout(MainActivity.this);
setContentView(mParent);

mWebView = new WebView(MainActivity.this);
WebSettings settings = mWebView.getSettings();
settings.setSupportMultipleWindows(true);
settings.setJavaScriptCanOpenWindowsAutomatically(false);
settings.setJavaScriptEnabled(true);
mParent.addView(mWebView);
mWebView.loadUrl("file:///android_asset/create_window.html");

mWebView.setWebViewClient(new MyWebViewClient());
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onCreateWindow(WebView view, boolean dialog, boolean userGesture, Message resultMsg) {
WebView newWebView = new WebView(view.getContext());
newWebView.getSettings().setUserAgentString("BBB");
//newWebView.getSettings().setJavaScriptEnabled(true);
//newWebView.setWebChromeClient(this);
newWebView.setWebViewClient(new MyWebViewClient());
//view.getSettings().setUserAgentString("CCC");
mParent.addView(newWebView);
WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
transport.setWebView(newWebView);
resultMsg.sendToTarget();
return true;
}

@Override
public void onCloseWindow(WebView window) {
mParent.removeViewAt(mParent.getChildCount() - 1);
}
});

}

private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}

@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);

}

@Override
public void onPageFinished(WebView view, final String url) {
super.onPageFinished(view, url);

}
}




Содержимое файла create_window.html, как показано ниже:





Create Window

function
openURL ()
{
alert ("opening window");
window.open ("http://www.whoishostingthis.com/tools/user-agent/", "_blank", "width=200,height=100");
}





open website in new window






Подробнее здесь: https://stackoverflow.com/questions/386 ... omatically
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Какой должна быть ИСТИННАЯ черно-белая цветовая матрица?
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Какой должна быть ИСТИННАЯ черно-белая цветовая матрица?
    Anonymous » » в форуме C#
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Makefile .NOTPARALLEL: цель, сделать весь make-файл непараллельным, а не только указанную цель
    Anonymous » » в форуме Linux
    0 Ответы
    38 Просмотры
    Последнее сообщение Anonymous
  • Какова цель std::function и как ее использовать?
    Гость » » в форуме C++
    0 Ответы
    60 Просмотры
    Последнее сообщение Гость
  • Какова цель использования таких пакетов, как flutter_screenutil, во Flutter?
    Anonymous » » в форуме IOS
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»