2017-01-06 3 views
0

Я использую систему выставления счетов WHMCS. WHMCS имеет собственную партнерскую программу, но она работает только на субдомене. Так как биллинг должен быть на другом сервере, на всякий случай.Содержимое блокировки FireFox

Итак, мы создали сценарий для этого, потому что пользователи хотят использовать основную ссылку, а не субдоменную ссылку. Потому что тогда вы используете субдомен my.xeovo.com вместо xeovo.com, вы идете прямо на выставление счетов, и у вас нет выбора взглянуть на главный сайт.

JavaScript принимает «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, и все было в порядке. Если вы откроете https://www.xeovo.com в FireFox и нажмите на сертификат вы собираетесь получить этот here is screenshot

Таким образом, любая идея, как можно это исправить? Благодарю.

ответ

1

Если вы проверяете консоль браузера (Tools> Web Developer> Web Console), это дает следующее сообщение об ошибке:

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). 

Согласно this SO answer, это заголовок, чтобы запретить другим использовать свои ресурсы, что ответ есть решение:

в my.xeovo.com добавьте следующую строку в .htaccess:

<IfModule mod_headers.c> 
Header set Access-Control-Allow-Origin "*" 
</IfModule> 

Вам может понадобиться прочитать мор e об этом заголовке, чтобы уточнить его для пользовательских файлов, а не всего.

Смежные вопросы