[英]Workaround for Cross Domain Request
我正在嘗試執行以下代碼以使用 javascript 打開 URL
var Urlone = document.getElementById('00N0b00'),
opening = window.open(Urlone),
opening.onload = function() {
var Urltwo = opening.document.getElementById('00GG')
window.open(Urltwo);}
當 Urlone 來自與 Origin URL 相同的域時,這會起作用並打開 Urltwo,但是當 Urlone 來自與 Origin 不同的域時,Urltwo 不會打開。
我知道它是因為或 CORS 標准,但我需要幫助來解決這個問題。
我已經嘗試下載放松 CORS 的 chrome 擴展,但它沒有用。 我不想使用 jquery 或 anyorigin.com。 使用 javascript 尋找可能的解決方案。
CORS(跨域資源共享)是一個系統,由傳輸 HTTP 標頭組成,用於確定瀏覽器是否阻止前端 JavaScript 代碼訪問跨域請求的響應。 ( https://developer.mozilla.org/en-US/docs/Glossary/CORS )
當禁用跨源資源共享時,您不能將 JavaScript 注入 window,這是設計使然。
可能的解決方法:
如果您有權訪問服務Urltwo
的服務器,則更改 CORS 設置是最佳解決方案。 如果您無權訪問服務器,但可以編輯Urltwo
提供的文檔,則可以通過document.postMessage
在文檔之間進行通信( https://developer.mozilla.org/en-US/docs/Web/API /Window/postMessage )或通過編碼 URL 中的信息(查詢字符串或散列)。 如果您無法訪問兩者,則可以使用代理在Urltwo
獲取內容,發送正確的 CORS 標頭並將結果發回給您。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.