当iframe的源代码是javascript时,浏览器做什么
当iframe的源为:当iframe的源代码是javascript时,浏览器做什么,javascript,iframe,Javascript,Iframe,当iframe的源为: javascript:''; 例如: <iframe id="SpControlFrame1" name="SpControlFrame1" src="javascript:'';" path_src="index.php?cmd=YYY" ></iframe> 发生了什么事?src=“javascript:”;告诉浏览器做什么 “路径src”是做什么的 谢谢 Chris它告诉浏览器显示执行空字符串文本的结果。因此,它只会显示一个空字符串
javascript:'';
例如:
<iframe id="SpControlFrame1" name="SpControlFrame1" src="javascript:'';" path_src="index.php?cmd=YYY" ></iframe>
发生了什么事?src=“javascript:”;告诉浏览器做什么
“路径src”是做什么的
谢谢
Chris它告诉浏览器显示执行空字符串文本的结果。因此,它只会显示一个空字符串 您可以通过键入
javascript:'来测试这种效果http://stackoverflow.com';代码>在普通窗口/选项卡的地址栏中。你会得到一个白色页面,上面写着“”,而你实际上不会被带到那个URL
这就是为什么bookmarklet经常将代码包装在void()
中,或者是一个匿名函数,它不返回任何东西来阻止浏览器尝试显示执行bookmarklet的结果。例如:
javascript:void(window.open("dom_spy.html"))
或:
如果直接使用返回某些内容的代码(本例中为新窗口实例),浏览器将最终显示:
javascript:window.open("dom_spy.html");
在Firefox中,上述内容将显示:
[object Window]
[对象窗口]据我所知,src
属性映射到iframe
元素location.href
。因此,将src
设置为javascript:“”代码>有点荒谬,浏览器将执行以下两项操作之一:
- 忽略它,因为它不是URI,并且不解析为任何可显示的资源
- 执行不产生任何结果的javascript
无论哪种方式,你完成的都很少。这段代码是您继承的还是您试图对iframe
执行一些棘手的操作?继承的。path_src扮演什么角色?@cbrulak它什么都不做。它是其他框架正在使用的东西。请注意,它并不都需要包装在一个空白处。浏览器将尝试显示最后一条语句的返回,因此只要最后一条语句不返回任何内容,您就可以执行任何操作,例如javascript:(函数hello(msg){return msg;})('BOO!');无效(0);
[object Window]