[英]FireFox blocking content
我正在使用WHMCS計費系統。 WHMCS有自己的會員計划,但僅在子域上有效。 由於開票應在其他服務器上,以防萬一。
因此,我們為此編寫了一個腳本,因為用戶希望使用主鏈接而不是子域鏈接。 因為那樣的話,您將使用子域my.xeovo.com而不是xeovo.com,因此直接進入計費,並且別無選擇地查看主站點。
JavaScript從鏈接中獲取“ r”。 這就是引薦鏈接的樣子(/?r = 1)
function ref() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value; });
return vars;
}
function file_get_contents( url ) {
var req = null;
try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {
try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {
try { req = new XMLHttpRequest(); } catch(e) {}
}
}
if (req == null) throw new Error('XMLHttpRequest not supported');
req.open("GET", url, false);
req.send(null);
return req.responseText;
}
function start() {
var id = ref()["r"];
var nl = file_get_contents("https://my.xeovo.com/aff.php?aff=" + id);
console.log("REF ID:" + id);
$.get("https://my.xeovo.com/aff.php?aff=" + id, function( data ) {
$( ".resss" ).html( data );
console.log('ok');
});
}
window.onload=function(){
start();
}
該腳本可以正常工作,但是我們在FireFox中遇到了一個小問題。 我們在Chrome / Opera / IE上進行了測試,一切都很好。 如果您在FireFox中打開https://www.xeovo.com並單擊證書,則將在此處獲取屏幕快照
那么有什么想法我們可以解決這個問題嗎? 謝謝。
如果檢查瀏覽器控制台(“工具”>“ Web開發者”>“ Web控制台”),則會出現以下錯誤:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://my.xeovo.com/aff.php?aff=undefined. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
根據此SO答案 ,它是防止其他人使用您的資源的標頭,該答案具有解決方案:
在my.xeovo.com中,將以下行添加到您的.htaccess中:
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
您可能需要閱讀更多有關此標頭的信息,以將其優化為自定義文件,而不是所有內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.