javascript - document.location.href 获得 javascript:window ["contents" ]

  显示原文与译文双语对照的内容
0 0

document.location.href的返回值有时会变成 javascript:window["contents"] 。 什么时候会发生怎样避免它?

我发现代码被放置在一个没有 src url的iframe中。

<iframe id="google_ads_iframe_/21202031/LTN-000-03-HOME-120X600-DISPLAY_0" name="google_ads_iframe_/21202031/LTN-000-03-HOME-120X600-DISPLAY_0" width="120" height="600" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" src="javascript:&quot;<html><body style='background:transparent'></body></html>&quot;" style="border: 0px; vertical-align: bottom;"></iframe>
时间:原作者:6个回答

0 0

就像你已经怀疑的,这确实与( I ) 框架有关,尤其是一些脚本/库使用这些框架的方式。

技术在装载包含/提供框架中使用的变量/对象的外部 javascript ( 这是异步加载的) 时避免了 ReferenceError ( 在 IE 中) 。

从名为'将内容注入到新的iframe中。'的文章中引用最相关的部分:

我们使用以下方法代替 document.open/write/close:

iframe.contentWindow.contents = content;
iframe.src = 'javascript:window["contents"]';

首先,我们将动态内容分配给iframe对象窗口上的变量。 然后我们通过javascript调用它: 这不仅可以正确地呈现 HTML,还可以按照需要的顺序加载和执行脚本。

这也是 inline的类似的答案如此。

希望有帮助!

原作者:
...