如何使用html中的onclick属性从另一个网页调用一个网页的javascript函数?
我想从另一个网页调用一个网页的javascript函数。假设我有一个在a.html中定义的函数myFunction,我想在B.html中使用onclick属性。我如何在B.html中使用onclick调用myFunction,以便它能在A.html中带来一些变化 下面是一个例子 html包括如何使用html中的onclick属性从另一个网页调用一个网页的javascript函数?,javascript,html,Javascript,Html,我想从另一个网页调用一个网页的javascript函数。假设我有一个在a.html中定义的函数myFunction,我想在B.html中使用onclick属性。我如何在B.html中使用onclick调用myFunction,以便它能在A.html中带来一些变化 下面是一个例子 html包括 <script> function myFunction() { document.getElementById("my_contents").style.display="block"
<script>
function myFunction() {
document.getElementById("my_contents").style.display="block";
}
</script>
您试图做的是不可能的,因为HTML页面不允许其他网页使用本地功能 要解决您的问题: 创建一个名为script.js的文件。 将javascript函数放在其中,不带标记
在两个网页的标签中,添加您尝试执行的操作是不可能的,因为HTML网页不允许其他网页使用本地功能 要解决您的问题: 创建一个名为script.js的文件。 将javascript函数放在其中,不带标记
在两个网页的标记中添加,您需要创建一个单独的文件,如myscript.js,并使用script标记将其链接到页面中 您需要创建一个单独的文件,如myscript.js,并使用script标记在页面中链接它 首先,窗口之间必须有一个链接,就像您使用window.open打开页面一样 窗口对象是JavaScript中的全局对象。如果两个窗口页面都有名称,则可以从一个窗口方法调用另一个窗口方法。要从子窗口调用父窗口函数,我们调用window.opener函数。在这方面探索更多选项
您不能从任何页面随机调用任何页面javascript函数,就像您不能在facebook.com中调用google.com的javascript函数一样,除非未使用window.open从google.com页面打开facebook页面。首先,必须在窗口之间创建链接,就像您使用window.open打开页面一样 窗口对象是JavaScript中的全局对象。如果两个窗口页面都有名称,则可以从一个窗口方法调用另一个窗口方法。要从子窗口调用父窗口函数,我们调用window.opener函数。在这方面探索更多选项 除非没有使用window.open从google.com页面打开facebook页面,否则您不能从任何页面随机调用任何页面javascript函数,就像您不能在facebook.com中调用google.com的javascript函数一样 您可以使用同一域上的localStorage页访问同一存储。将消息/说明保存到存储器,两个页面都将通过计时器进行检查 如果B页由A页打开,则使用方法postMessage stackoverflow有一些有趣的解决方案: 解决方案示例: A.html B.html 您可以使用同一域上的localStorage页访问同一存储。将消息/说明保存到存储器,两个页面都将通过计时器进行检查 如果B页由A页打开,则使用方法postMessage stackoverflow有一些有趣的解决方案: 解决方案示例: A.html B.html
从您试图实现的外观来看,听起来您必须将“A.html”中定义的值存储在某种形式的书面文件或SQL数据库中。。。然后用某种默认值填充B.html中的值,除非在存储的文件/SQL数据库中指定。这是可以实现的,但不仅仅是如作者所指出的HTML和Javascript。使用PHP或Java可能会达到这个效果
。。。或者忽略我所说的,只是拥有一个预定义值的列表/数组。从您试图实现的外观来看,听起来您必须将“a.html”中的定义值存储在某种形式的书面文件或SQL数据库中。。。然后用某种默认值填充B.html中的值,除非在存储的文件/SQL数据库中指定。这是可以实现的,但不仅仅是如作者所指出的HTML和Javascript。使用PHP或Java可能会达到这个效果
。。。或者忽略我所说的,只需要一个预定义值的列表/数组。页面B可以调用页面a上的任何函数。如果需要,函数位于窗口对象中。 它不安全,但可以工作 A页: B页:
页面B可以调用页面A上的任何函数。如果需要,函数位于窗口对象中。 它不安全,但可以工作 A页: B页:
是否不可能创建一个名为script.js的文件,其中包含您的函数并在两个页面上导入它?您不能这样做。甚至不要依赖于它们之间的关系,如果它们在同一个域上,并且其中一个嵌入到iframe中,那么只需通过iframe的作用域访问它,即iframe.contentWindow.myFunction(如果是全局的)。否则,您必须在每一条消息上实现窗口消息,并根据收到的消息OK执行该功能。但如此
rry我不知道“script.js”,因为这是我第一次启动javascript。是否不可能创建一个名为script.js的文件,其中包含您的函数并在两个页面上导入它?您不能这样做。甚至不要依赖于它们之间的关系,如果它们在同一个域上,并且其中一个嵌入到iframe中,那么只需通过iframe的作用域访问它,即iframe.contentWindow.myFunction(如果是全局的)。否则,您必须在每一条消息上实现窗口消息,并根据收到的消息OK执行该功能。但很抱歉,我没有意识到“script.js”,因为这是我第一次启动javascript。如果适合您的情况,请尝试一下。如果适合你的情况,试试这个。谢谢。这个答案对我来说很简单。实际上并非不可能:在客户端有几种方法。谢谢。这个答案对我来说很简单。其实并非不可能:在客户端有几种方法。
<a href="Contents.html#entertainment" target="ccc" onclick="myFunction()">
<h4>Entertainment</h4></a>
<script>
setInterval(function(){
var isNeedCall = localStorage.getItem('isNeedCall');
if(isNeedCall == 'yes'){
myFunction();
localStorage.setItem('isNeedCall', 'no');
}
}, 500);
function myFunction() {
document.getElementById("my_contents").style.display="block";
}
</script>
<script>
function myFunction() {
localStorage.setItem('isNeedCall', 'yes');
}
</script>
<a href="Contents.html#entertainment" target="ccc" onclick="myFunction()">
<h4>Entertainment</h4></a>
<script>
var callFunction;
setInterval(function(){
callFunction = localStorage.getItem('callFunction');
if(callFunction && (window[callFunction] instanceof Function)){
window[callFunction]();
localStorage.setItem('callFunction', '');
}
}, 500);
function myFunction() {
document.getElementById("my_contents").style.display="block";
}
</script>
<script>
function callFunction(functionName){
localStorage.setItem('callFunction', functionName);
}
</script>
<a href="/" onclick="callFunction('myFunction')">