2015-04-25 3 views
-2

Возможно ли передать javascript-переменную скрипту на другом сайте? Я хотел бы сделать что-то вроде этого:Передать переменную javascript в javascript на другом сайте

Этот код на странице на www.myfirstsite.net:

<script> 
    var ID = 'randomstring'; 
</script> 
<script src="http://www.mysecondesite.net/processingscript.js"></script> 

Как я могу читать УАК ID в сценарии на mysecondsite.net?

Обновление: Мой вопрос неправильный, как объяснено в полезных ответах от @ vihan1086 и других.

+0

Вы не можете действительно сделать это отлично. Но в вашем другом скрипте 'ID' будет уже существовать, и вы можете просто использовать его –

+0

Вы пробовали свое собственное предложенное решение из своего вопроса? – boombox

+0

Слишком плохо. Я пробовал http://www.mysecondesite.net/processingscript.js#ID=randomstring, но это, похоже, не работает, и я не могу найти хорошую информацию по этому вопросу. Возможно ли решение в этой области? – Aiken

ответ

1

Почему никогда не сделать

Вы должны никогда объявлять переменные, как, что, это было описано here

Тогда что?

На одной странице, сделайте следующее:

window.globals = {}; 
window.globals.my_variable = 'ABC'; 

На сценария, добавьте:

var globals = window.globals; 
globals.my_variable;//Gets 'ABC' 


Это будет держать все переменные безопасными в global месте. Затем мы можем сразу получить все глобальные переменные, увеличивая скорость.

Не забудьте обернуть весь код в чем-то вроде:

(function() { 

//Code here 

})(); 

Функции

Для облегчения этой задачи я сделал функции:

setSharedVar (name, value) { 
    if (!"globals" in window) { 
     window.globals = {}; 
    } 
    window.globals[name] = value; 
} 

getSharedVar (name) { 
    if (!"globals" in window) { 
     window.globals = {}; 
     return null; 
    } else if (!name in window.globals) { 
     return null; 
    } else { 
     return window.globals[name]; 
    } 
} 

Примеры

Сценарий 1:

setSharedVar('id', 5); 

Сценарий 2: 'Успех!'

if (getSharedVar('id') === 5) { 
    alert('Success!'); 
} 

Виртуальный агент

+1

Удивительно, спасибо, это именно то, что мне нужно знать. – Aiken

+1

@Aiken Нет проблем :) – Downgoat

1

В другом скрипте ID уже существует, и вы можете просто использовать его.

1

Javascript запускается в среде, прикрепленной к вашей веб-странице, поэтому, если вы не изменяете страницы, вы можете установить переменную и включить другие скрипты, которые будут иметь к ним доступ.

Так что вы предлагаете должен работать

Однако вы должны знать, что для запуска сценария с других сайтов можно рассматривать как опасные, и поэтому некоторые использованы без разрешения навигаторов/плагин ... так что вы должны попытаться избежать, если возможно (путем предоставления копии сценария на вашем сайте)

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