我创建了一个按钮,使用Java脚本函数内Vimeo脚本,我现在想改变按钮使用我的资产图像,但它给我这个错误。
- 我尝试了所有可能**
with(binding.webView) {
settings.apply {
pluginState = WebSettings.PluginState.ON
displayZoomControls = true
useWideViewPort = true
loadWithOverviewMode = true
javaScriptEnabled = true
useWideViewPort = true
setGeolocationEnabled(true)
domStorageEnabled = true
databaseEnabled = true
setSupportMultipleWindows(true)
setNeedInitialFocus(true)
loadWithOverviewMode = true
loadsImagesAutomatically = true
setAppCacheEnabled(true)
javaScriptCanOpenWindowsAutomatically = true
blockNetworkImage = false
builtInZoomControls = false
mixedContentMode = WebSettings.MIXED_CONTENT_ALWAYS_ALLOW
}
webViewClient = mWebViewClient
webChromeClient = mWebChromeClient
addJavascriptInterface(this, "Downloader")
loadUrl("https://vimeo.com/watch")
}
- 我试过Webview评估**
x一个一个一个一个x一个一个二个x
- 日志错误:**
- "不允许加载本地资源:文件:///android资产/下载器. png ",
数据源:https://vimeo.com/743245118(0)
- "[仅报告]拒绝加载映像" file:///android_asset/downloader.png ",因为它违反了以下内容安全策略指令:"默认源https:数据:blob:wss:"unsafe-inline""unsafe-eval'"。请注意,未显式设置" img-src ",因此" default-src "用作回退。
2条答案
按热度按时间pod7payv1#
WebViewAssetLoader
专为帮助你从伪HTTP URI加载应用资产而设计。这些资产是从HTTP方案URI加载的,因为通常禁止网页从本地文件系统加载任意文件。这就是"不允许加载本地资源"和内容安全策略诊断试图告诉你的。所以与其说
你应该注射
还请注意更改的路径
/assets/
,以匹配.addPathHandler
中的注册。goucqfw62#
大多数社交网站阻止任何渲染或任何媒体文件,因此您只能加载平台网站允许的任何媒体文件,如GIPHY是大多数网站允许渲染媒体文件的平台。
但Facebook或Instagram只允许从他们的服务器只渲染媒体文件,但如果你可以插入svg标签内的任何元素,然后它会工作.