Refused to display ‘https://xxx.com.cn‘ in a frame because it set ‘X-Frame-Options‘ to ‘sameorigin‘
生活随笔
收集整理的這篇文章主要介紹了
Refused to display ‘https://xxx.com.cn‘ in a frame because it set ‘X-Frame-Options‘ to ‘sameorigin‘
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Android5.0+ webView+vue,使用iframe加載云端文檔URL時出現了報錯,加載網頁失敗
由于響應頭添加X-Frame-Option為’SAMEORIGIN’,導致了問題的產生
解決辦法:
1、服務器修改配置
2、我們可以在webView中忽略X-Frame-Option,示例代碼 如下
首先,在app/build.gradle中引入依賴
其次,在webViewClient中配置
webView.setWebViewClient(new WebViewClient(){@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)@Nullable@Overridepublic WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {WebResourceResponse content = getsPageContent(request.getUrl().toString());if (content != null) {return content;} else {return super.shouldInterceptRequest(view, request);}}@Nullable@Overridepublic WebResourceResponse shouldInterceptRequest(WebView view, String url) {WebResourceResponse content = getsPageContent(url);if (content != null) {return content;} else {return super.shouldInterceptRequest(view, url);}} });private WebResourceResponse getsPageContent(String url){if (( url.contains("http")) // guess is better to create for ex map to check all extensions&& !(( url.contains(".js"))||( url.contains(".css"))||( url.contains(".tiff"))||( url.contains(".jpg"))||( url.contains(".png"))||( url.contains(".gif")))){try {return new WebResourceResponse("text/html","UTF-8",new ByteArrayInputStream(Jsoup.connect(url).get().toString().getBytes()));} catch (IOException e) {e.printStackTrace();}}return null; }總結
以上是生活随笔為你收集整理的Refused to display ‘https://xxx.com.cn‘ in a frame because it set ‘X-Frame-Options‘ to ‘sameorigin‘的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言基于单链表的词典软件
- 下一篇: .net refit post请求bod