Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Выполнение скриптов с другого домена (https://javascript.ru/forum/events/11936-vypolnenie-skriptov-s-drugogo-domena.html)

seregarem 22.09.2010 10:45

Выполнение скриптов с другого домена
 
Выполняется динамически php-скрипт. На домене, где размещен сайт (http://www.snoskainfo.ru/) все работает, но есть псевдонимы и с них скрипт не выполняется, пишет:
Код:

Сведения об ошибке на веб-странице

Агент пользователя: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; WebMoney Advisor; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)
штамп времени: Wed, 22 Sep 2010 06:45:07 UTC

Сообщение: Отказано в доступе.

Строка: 27
Символ: 1
Код: 0
URI-код: http://www.snoska.info/js/count_test.js

Как решить данную проблему?

Kolyaj 22.09.2010 10:55

Указать относительные пути в скриптах, а не абсолютные.

seregarem 22.09.2010 10:58

Указаны относительные пути:

var request = null;

function createRequest() {
try { request = new XMLHttpRequest(); }
catch (trymicrosoft) {
	try { request = new ActiveXObject("Msxml2.XMLHTTP");  }
	catch (othermicrosoft) {
		try { request = new ActiveXObject("Microsoft.XMLHTTP"); }
		catch (failed) { request = null; }
	}
}
if (request == null) alert("Ошибка при создании объекта XMLHttpRequest!");
}

function makeinc() {
if(document.getElementById('q1_1').checked==true) id_num=0;
if(document.getElementById('q1_2').checked==true) id_num=1;
if(document.getElementById('q1_3').checked==true) id_num=2;
if(document.getElementById('q1_4').checked==true) id_num=3;
if(document.getElementById('q1_5').checked==true) id_num=4;
if(document.getElementById('q1_6').checked==true) id_num=5;
if(document.getElementById('q1_7').checked==true) id_num=6;
if(document.getElementById('q1_8').checked==true) id_num=7;
url = "js/count_test_info.php?id_num="+id_num;
createRequest();
request.open("GET", url, true);
request.send(null);
}


<?php
$filename="../result_file.txt";

$id=$_GET[id_num];
if(isset($id)){
$mas = file($filename);

$pieces = explode(": ", $mas[$id]);
$temp=trim($pieces[1])+1;
$mas[$id]=$pieces[0].": ".$temp;

$str = implode("\n", $mas);
$str = str_replace("\n\n","\n", $str);
//$str = iconv('WINDOWS-1251', 'UTF-8', $str);
$file_rec=@fopen($filename,"w");
if($file_rec) {
fputs($file_rec,$str);
fclose($file_rec);
$temp="wrote";
} else $temp="can't write";
}
?>

seregarem 24.09.2010 10:44

Подскажите, очень надо!

Kolyaj 24.09.2010 10:46

Ссылку на неработающую страницу.

seregarem 24.09.2010 11:53

http://www.snoskainfo.ru - скрипт работает, статистика сохраняется в текстовый файл

http://snoskainfo.ru - скрипт работает, но статистика не сохраняется в текстовый файл

http://www.snoska.info - скрипт работает, но статистика не сохраняется в текстовый файл

http://snoska.info - скрипт работает, но статистика не сохраняется в текстовый файл

Kolyaj 24.09.2010 12:09

Что-то ни на одной странице не происходит XHR-запросов.

seregarem 24.09.2010 12:13

в смысле?

Kolyaj 24.09.2010 12:16

В смысле открываю страницу, смотрю в firebug, не происходит XHR-запросов. Хотя по коду, вроде, должно.
createRequest();
request.open("GET", url, true);
request.onreadystatechange = makeinc_info;
request.send(null);


Я попозже подебажу, если будет актуально.

seregarem 24.09.2010 12:59

там request.onreadystatechange = makeinc_info; - закомментена:
createRequest();
request.open("GET", url, true);
//request.onreadystatechange = makeinc_info;
request.send(null);


Часовой пояс GMT +3, время: 05:22.