簡體   English   中英

FireFox阻止內容

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM