gpt4 book ai didi

javascript - 在 IFrame src 属性中执行内联 JavaScript 代码

转载 作者:行者123 更新时间:2023-11-29 21:51:16 27 4
gpt4 key购买 nike

是否可以在现有 IFrame 的 src 属性上执行内联 JavaScript 代码(执行某些逻辑并返回 url 的函数)?

当我尝试代码时,出现错误:Uncaught ReferenceError: hello is not defined

<!DOCTYPE html>
<html>
<head>
<title>title</title>
<script type="text/javascript">
var hello = function(src1){
// some logic goes here
return "www.mysite.com";
}
</script>
</head>
<body>

<iframe width="400" height="400" src="javascript:hello()" >
</iframe>

</body>
</html>

最佳答案

对 hello() 的调用是在 iframe 内部执行的(因为 'javascript:hello()' 是 iframe SRC)但是函数“hello()”是在嵌入了 iframe 的父窗口中的 iframe 外部声明的。您可以在 iframe src 中调用 parent.hello(),或者在调用 hello() 之前在 iframe src 中声明 hello() 的主体。下面演示了这两种方法:

<script>
var hello = function(){
alert('hello from outside the iframe');
}
</script>

<iframe width="400" height="400" src="javascript:var hello = function(){alert('hello from inside the iframe')};hello();parent.hello()"></iframe>

你可以在这里看到它的实际效果: https://fiddle.jshell.net/vtdc1qxf/3/

关于javascript - 在 IFrame src 属性中执行内联 JavaScript 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29038031/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com