gpt4 book ai didi

javascript - 网页 View 不加载网页图像

转载 作者:行者123 更新时间:2023-12-03 05:01:02 25 4
gpt4 key购买 nike

我已将网页加载到 android webview,该 View 通过 javascript 将图像从其 url 加载到网页,但出现页面未加载的错误,有人可以帮忙吗?

[INFO:CONSOLE(0)] “来自来源‘https://s-media-cache-ak0.pinimg.com’的图像已被跨源资源共享策略阻止加载:否‘请求的资源上存在 Access-Control-Allow-Origin' header 。因此不允许访问 Origin 'null'。”,来源:file:///android_asset/demo3.html (0)

我的Java代码是:

    WebView wv = (WebView) vw.findViewById(R.id.help_webview);
WebSettings webSettings = wv.getSettings();
webSettings.setJavaScriptEnabled(true);webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
wv.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
wv.loadUrl("file:///android_asset/demo3.html");

XML 只是简单的 Web View

<WebView
android:id="@+id/help_webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</WebView>

最佳答案

一般来说,一个网站中运行的javascript代码无法访问其他网站的资源。但网站中的 JavaScript 应该能够访问同一网站的资源。这称为same-origin policy ,并被所有主流浏览器实现。

同样的事情也适用于 android 原生 webview same-origin-policy-and-android-webview

如果您的文件在本地,您可以尝试以下方法

WebView wv = (WebView) vw.findViewById(R.id.help_webview);
WebSettings webSettings = wv.getSettings();
webSettings.setAllowFileAccess(true).
webSettings.setAllowFileAccessFromFileURLs(true)
webSettings.setAllowUniversalAccessFromFileURLs(true).

这些方法存在于 API 16 及更高版本中,默认情况下为 false,但确保默认值可能是个好主意。

关于javascript - 网页 View 不加载网页图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42224717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com