一、問題產(chǎn)生
項目里的app用了混合開發(fā)灸叼,JS和Native頁面交互(這專題在下一篇章再總(chao)結(jié)(xi)出來)娶牌。原先iOS里用的是UIWebView贤惯,但由于性能差菜皂,表現(xiàn)反而不如Android機器(Android里的瀏覽器內(nèi)核都是WKWebView),所以打算也換成WKWebView镇草。但UIWebView與JS交互的方法 和WKWebView不一樣眶痰,服務端的JS代碼也要改。
用
1
wget -r -p-np -k www.abc.com
來抓取整個網(wǎng)頁到本地服務器梯啤,打開網(wǎng)頁在chrome的控制臺看到有個錯誤竖伯,如下:
1
No 'Access-Control-Allow-Origin' headerispresentontherequested resource.
聯(lián)想到以前同事提過的跨域問題,隱約覺得是同一個問題因宇。經(jīng)查七婴,有以下解決方案。
二察滑、問題解決
解決問題有2要素打厘,瀏覽器和服務器都要支持。
1贺辰、瀏覽器支持情況:
2户盯、服務器設置:
由于我也不懂服務器配置,所以饲化,扔個鏈接給你莽鸭,你自己體會。
http://enable-cors.org/server.html
三吃靠、后記備注:
大家在測試時服務器的鏈接可以用這個硫眨,
https://fonts.googleapis.com/css?family=Inconsolata&text=Hello
這網(wǎng)站是開啟CORS的。
references:
https://en.wikipedia.org/wiki/Cross-origin_resource_sharing
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS