Как выполнить JavaScript, записанный на одной странице aspx с другой страницы aspx?Как выполнить запись JavaScript на одной странице с другой страницы?
ответ
Вы не можете этого сделать. Вместо написания JavaScript на страницу, записать его в файл .js (т.е. script.js), а затем ссылаться на .js файл с тега сценария:
<script type="text/javascript" src="script.js"></script>
В одной странице открыть другую страницу в скрытый IFrame и выполнить javascript-код в скрытом iframe как document.getElementById ('targetFrame'). contentWindow.targetFunction();
Примечание: обе страницы должны обслуживаться из одного домена, иначе будут проблемы с XSS.
Короткий ответ, что вы не можете.
Я не уверен, почему вы спрашиваете об этом, но если ваша мотивация - это просто повторное использование кода JavaScript, вы можете фактически вывести код в отдельный .js-файл и называть его с разных страниц, делая
<script type="text/javascript" src="your_javascript_file.js"></script>
на этих страницах.
Thnks для ответа Вещь есть страница A.aspx есть скрипт в том, что , который создаст вкладку. от A i m, открытие другой страницы B.aspx. что я хочу, когда я нажимаю кнопку в B.aspx. Сценарий в A.aspx должен выполняться. или же ссылку в A.aspx, которую называет этот скрипт, должен выполняться ... – jazz
hmm. Вопрос в том, что сценарий в А.aspx, что он должен делать? –
Это возможно только при наличии отношений между родителями и дочерними элементами. Например, если A.aspx является вашей родительской страницей, и вы открываете страницу B.aspx, используя javascript window.open(), тогда B.aspx будет дочерней страницей. После этого вы можете вызвать A.aspx Javascript функция из B.aspx с помощью window.opener вместо window.parent, который я отправил ранее.
Спасибо.
'window.parent' предназначен для доступа к родительскому элементу из фрейма. 'window.opener' - это то, что вам нужно. –
Спасибо, что исправил меня. – Hoque
Если вы используете window.open
, чтобы открыть новое окно, вы можете использовать window.opener
объект, чтобы получить ссылку на родительский объект из нового окна и window.open
сама возвращает ссылку на открытой странице. Пример:
Страница A:
var newWin = window.open("pageB.aspx"); // ref to pageB is stored in var newWin
newWin.onload = function()
{
newWin.helloB();
}
function helloA()
{
// Run the alert method inside the new window
newWin.alert("Hello from page A!");
}
страница B:
var opener = window.opener; // Ref to pageA is stored in var opener
opener.helloA(); // call to opener's helloA function
function helloB()
{
// Run the alert method inside the opener window
opener.alert("Hello from page B!");
}
// We can do the same thing in an event that occurs on this page
var btn = document.getElementById("pageBButton");
btn.onclick = function()
{
window.opener.helloA();
}
Это хорошо, но, как указано в других сообщениях, обе страницы должны находиться в одном домене, чтобы это работало. –
@SerjSagan: Ну, да, но это в значительной степени само собой разумеется ;-) –
Насколько мне известно, вы не можете сделать это. Если обе страницы принадлежат к одному домену, и вы открыли первую страницу со второй страницы, тогда ... нет, вы все еще не можете выполнить javascript - возможно, вы можете получить доступ к DOM с помощью 'document.referer' – Amarghosh
. Будьте более конкретными. Вы хотите: Есть сценарий со страницы A Изменить страницу B? Есть сценарий со страницы Заимствовать функцию или две со страницы B для работы на странице A? Что-то еще? Единственный способ сделать что-либо подобное, как сказал Амархош, если вы открыли страницу B со страницы A (или наоборот). Тогда есть определенные вещи, которые вы можете сделать. – BobS