假设我有一个带有iframe的html页面,它有自己的javascript函数。
function foo(){
//doSomething
}
我可以从地址栏访问/调用这些功能。
javascript:document.getElementById('iframe').contentWindow.foo();
我可以通过在地址栏中输入新的函数定义来替换主页面中的js函数。 但是它不适用于iframe内的函数。
javascript:function foo(){//doSomethingElse}
这似乎只是将该功能添加到主页面。 iframe仍然使用自己的foo函数。
我可以在新标签中打开iframe,然后就可以修改该功能了。 但我想知道是否可以通过在主页的地址栏中输入ifs来替换iframe中的js函数?
答案 0 :(得分:0)
尝试以下方法,它将foo视为变量并将其指定为函数引用(或类似的东西......我的javascript不是最好的)。使用enclosing()()可以忽略返回的值,并且页面不会重新加载。
javascript:(document.getElementById('iframe').contentWindow.foo=function(){alert('bar');})()
(在firefox中测试)