Chr*_*cci 5 javascript android webview ckeditor responsive-filemanager
像很多人一样,我正在开发一个简单的 Android 应用程序,它只是一个Webview,可以打开我的完整响应式网站,只是为了允许找到它、安装它并像“真正的”应用程序一样启动它(我知道你知道为什么我正在这样做!)。我的网站使用CKEditor允许用户创建简单的 html 页面并上传图像以放入其页面中。为此,我将响应式文件管理器与 CKEditor 结合使用,如果我从手机 (Android 9) 上的 Chrome 或其他浏览器打开我的网站,则一切正常。但是当我启动我的 Web 应用程序时,即使 90% 的网站工作正常,日志中也会出现几个 Javascript 错误,例如:
I/chromium: [INFO:CONSOLE(305)] "Uncaught TypeError: $(...).fancybox is not a function"
I/chromium: [INFO:CONSOLE(1)] "Uncaught TypeError: Cannot read property 'tools' of undefined" (it refers to this source code --> window.opener.CKEDITOR.tools.callFunction(a, e) )
Run Code Online (Sandbox Code Playgroud)
当我尝试使用“上传图像”或“选择图像”功能时,由于上述 Javascript 错误,它不起作用(当我单击操作按钮时它不执行任何操作)。
我已经启用了 Javascript、dom 存储并使用 webview 设置访问所有文件和文档,正如其他类似问题中所建议的那样,但对我来说没有任何作用。
我的超级简单的 Android 应用程序:
public class MainActivity extends Activity {
private WebView mWebView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
mWebView = new WebView(this);
mWebView.setWebViewClient(new WebViewClient());
mWebView.setWebChromeClient(new WebChromeClient());
// Enable Javascript
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setAllowFileAccess(true);
webSettings.setAllowContentAccess(true);
webSettings.setAllowFileAccessFromFileURLs(true);
webSettings.setAllowUniversalAccessFromFileURLs(true);
webSettings.setBlockNetworkLoads(false);
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
webSettings.setSupportMultipleWindows(false);
webSettings.setDomStorageEnabled(true);
webSettings.setDatabaseEnabled(true);
mWebView.loadUrl("https://www.responsivefilemanager.com/demo.php");
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
this.setContentView(mWebView);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1984 次 |
最近记录: |