如何从另一个aspx页面执行在一个aspx页面中编写的JavaScript?
答案 0 :(得分:4)
你不能这样做。不是将JavaScript写入页面,而是将其写入.js文件(即:script.js),然后使用脚本标记引用.js文件:
<script type="text/javascript" src="script.js"></script>
答案 1 :(得分:1)
简短的回答是,你不能。
我不确定你为什么要问这个问题,但如果你的动机只是重用JavaScript代码,那么你实际上可以将代码分解成一个单独的.js文件,并通过执行<从不同的页面调用它/ p>
<script type="text/javascript" src="your_javascript_file.js"></script>
在那些页面中。
答案 2 :(得分:1)
如果您使用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();
}
答案 3 :(得分:0)
在一个页面中打开隐藏IFrame中的另一个页面,并在隐藏的iframe中执行javascript代码作为document.getElementById('targetFrame')。contentWindow.targetFunction();
注意:两个页面都应该从同一个域提供,否则会出现XSS问题。
答案 4 :(得分:0)
只有在页面之间存在父子关系时才有可能。例如,如果A.aspx是您的父页面,并且您使用javascript window.open()打开页面B.aspx,那么B.aspx将是子页面。然后你可以使用 window.opener 而不是之前发布的 window.parent 从B.aspx调用A.aspx javascript函数。
感谢。