navigator.share在WebView中不起作用

杰罗姆2710

navigator.share()JavaScript函数无法在我的Android应用程序的WebView中运行是有原因的吗?通过网络浏览器访问相同的URL时,将弹出本机Android共享对话框,但从我的应用程序的WebView访问URL时则不会弹出。

  • 网址使用https。
  • 共享操作由onClick用户触发。
  • setJavaScriptEnabled设置为true
  • setDomStorageEnabled也设置为true
杰罗姆2710

最终,我将以下设置用于Web视图。对于我来说,它不仅仅具有navigator.share,而且对我有用的可能对其他人也有用。值得一试。

mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
mWebView.getSettings().setAppCacheEnabled(false);
mWebView.getSettings().setAllowFileAccess(true);
mWebView.getSettings().setAllowContentAccess(true);
mWebView.getSettings().setMediaPlaybackRequiresUserGesture(false);

mWebView.addJavascriptInterface(new JavaScriptShareInterface(), "AndroidShareHandler");

AndroidShareHandler将成为全局JavaScript函数,可在Web视图中使用,并且可以通过单击按钮触发,例如:

Java:

package com.your.package;

import android.webkit.JavascriptInterface;

public class JavaScriptShareInterface {
    @JavascriptInterface
    public void share(String url) {
        // your share action
    }
}

JavaScript:

shareButton.addEventListener('click', () => {
    window.AndroidShareHandler.share('https://stackoverflow.com');
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Navigator.share在Angular中不起作用,但在Codepen中的测试中起作用

navigator.share在移动浏览器中不起作用(Chrome v64)

navigator.permissions.query在android / ios webview中不起作用

React Native:iOS中的透明Stack Navigator不起作用

navigator.geolocation.getCurrentPosition在React Native中不起作用

navigator.clipboard.readText() 在 js 中不起作用

Flutter Navigator Pop不起作用

Android Webview:navigator.geolocation API不起作用,引发异常POSITION_UNAVAILABLE

如果使用“ this.props.navigator.push”,滚动不起作用?

phonegap navigator.notification.alert不起作用

PhoneGap-navigator.app.exitApp()不起作用

如何修复 React Native Navigator 不起作用

簡單的 navigator.clipboard.writeText() 不起作用

MFP iFIX - 7.1.0.0-MFPF-IF201703011645 后,navigator.camera.getPicture 在 android 中不起作用

navigator.geolocation.getCurrentPosition / watchPosition在android 6.0中不起作用

为什么navigator.push在我的Flutter Web应用程序中不起作用?

一个 ListView 中的 Navigator.push,ListTile 不起作用

navigator.share() 不是函数

使用 Navigator.push 和使用 Navigator.of 时,flutter setState 正在弹出页面,它根本不起作用

React Navigator StackNavigator:当从同一场景中调用两次时,goBack不起作用

IE11-使用navigator.language进行语言检测不起作用

Flutter Navigator.pop(上下文)将不起作用

使用 iOS9 更改 UIWebView Navigator userAgent 属性不起作用

Flutter Navigator pushnamed 對像在作為參數發送到類時不起作用

如何使用单个导航文件在Tab Navigator的Stack Navigator中包括Drawer Navigator

navigator.onLine在我的手机上不起作用。如何检查互联网是否在线。离线??? 在Phonegap中

Flutter Navigator.popUntil()和ModalRoute.withName()在配置文件和发布模式下不起作用

navigator.notification.confirm不起作用。需要按两次返回按钮以关闭应用程序

基本网址在WebView中不起作用