为什么我需要使用 document.write 而不是 DOM 操作方法?

2024-06-28

我正在尝试一种新的广告服务,据我所知,他们没有提供加载广告的功能界面。我们希望根据用户的屏幕尺寸展示不同的广告尺寸,而该服务需要您加载不同的广告尺寸.js每种尺寸的 URL。

我最初尝试写:

<script type="text/javascript"><!--
    var dochead = document.getElementsByTagName('head')[0];
    var newscript = document.createElement('script');
    newscript.type = "text/javascript";
    newscript.src = '//ads-by.madadsmedia.com/tags/22430/9194/async/' + (screen.width >= 1360 ? '160' : '120') + 'x600.js';
    dochead.appendChild(newscript);
    //-->
</script>

但我只有一张空白页。我查看了 Chrome 开发者工具,它似乎正确加载了他们的脚本。他们的脚本加载来自 Google 的其他脚本,并且它们也出现在 DOM 中。但没有广告图片。

当我将脚本更改为:

<script language="JavaScript" type="text/javascript">
var prot = document.location.protocol;
var adwidth = (screen.width >= 1360 ? '160' : '120');
document.write('<script language="JavaScript" type="text/javascript"'); document.write('src="'+prot+'//ads-by.madadsmedia.com/tags/22430/9194/async/'+adwidth+'x600.js">'); document.write('<\/scr' + 'ipt>');
</script>

它工作正常。我一般不喜欢使用document.write,我想知道为什么在这种情况下需要它?广告服务的脚本广泛使用document.write,是因为这个吗?


Because they正在使用document.write():

http://ads-by.madadsmedia.com/tags/22430/9194/async/160x600.js http://ads-by.madadsmedia.com/tags/22430/9194/async/160x600.js:

if (!window.ActiveXObject){
  document.write("<div style=\"text-align: center; margin: 0px auto; width:160px; height:600px; position:relative;\">");
// etc.

If document.write()不是在线运行并主动“打开”文档,它会破坏那里的内容。因此,加载后运行他们的脚本会用他们的内容覆盖您的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我需要使用 document.write 而不是 DOM 操作方法? 的相关文章

随机推荐

  • 椭圆曲线加密的 .NET 实现(库)

    您能否建议在 NET 平台上使用椭圆曲线加密技术的任何实现 另外 如果您使用过它们 您能告诉我应该使用的推荐曲线吗 EDIT 正如 FatCat 提到的 它的实现在 NET Framework 3 5 中可用 但仅在 Windows Vis
  • Vue-konva 遇到错误:必须使用 import 加载 ES 模块

    我正在努力实施Vue konva按照以下步骤进入我的应用程序文档在这里 https www npmjs com package vue konva 但我遇到了以下错误 Must use import to load ES Module Us
  • html5标签“Contenteditable”的css选择器[重复]

    这个问题在这里已经有答案了 如何使用 contenteditable true 的 css 选择器 div div Use a CSS 属性选择器 https developer mozilla org en docs Web CSS At
  • 为什么在使用 PowerMockRunner 运行时无法使用 @InjectMocks 字段匹配?

    我遇到了一个问题 其中字段注入与 Mockito 匹配 Mock注释为 InjectMocks在有 2 个的情况下不起作用 Mock相同类型的 我用过 Mock name name of var 语法也是如此 但仍然失败 这是被测试的类 i
  • 在行内颤动展开列

    I am trying to create this design My code Row mainAxisSize MainAxisSize max crossAxisAlignment CrossAxisAlignment start
  • 以编程方式设置android布局参数

    我是安卓新手 我想知道如何从程序中为任何布局 如绝对布局 设置布局 x 和布局 y 宽度和高度的参数或属性 对于按钮你可以尝试这样 RelativeLayout Layoutparams params RelativeLayout Layo
  • Symfony 3 - 你请求了一个不存在的服务,这让我发疯

    所以 这不是我第一次创建服务 但我只是无法解决错误 您请求了一个不存在的服务 global settings 我为确保服务正确设置而采取的步骤 My AppBundleExtension php namespace AppBundle De
  • 当 R 中出现“warnings()”时中断循环

    我有一个问题 我正在运行一个循环来处理多个文件 我的矩阵非常巨大 因此如果我不小心 我经常会耗尽内存 如果创建任何警告 是否有办法打破循环 它只是继续运行循环并报告它在很久以后失败 烦人 聪明的 stackoverflow ers 有什么想
  • iOS 7 UIBarButtonItem 字体在点击时发生变化

    我正在尝试改变我的UIBarButtonItem字体 ViewController 加载时看起来不错 但是 如果我点击栏按钮 或者向右滑动 就像移动到上一个 ViewController 但然后拉回到当前的 ViewController 字
  • 如何将 Console.Readkey 转换为 int c#

    我正在尝试将用户输入键转换为 int 用户将输入 1 到 6 之间的数字 这是我到目前为止在方法中所拥有的 它不起作用 但抛出格式异常未得到处理 var UserInput Console ReadKey var Bowl int Pars
  • Python:脚本的目录

    我一直在寻找解决方案 但尚未找到我需要的 脚本路径 dir to script script py or C dir script py 异常结果 script py output dir to script cd script scrip
  • C 标准是否规定平台不得定义超出标准中给出的行为

    C 标准明确规定编译器 库组合可以使用以下代码执行任何操作 int doubleFree char p int temp p free p free p return temp 然而 如果编译器不需要使用特定的捆绑库 C 标准中是否有任何内
  • 仅使用 Python 生成示例 SOAP 请求和响应模板。没有 Zeep、SOAPUI 或任何其他工具

    我对 python 很陌生 对网络服务也很陌生 我最近开始了一个我非常热衷的项目 这是一个很好的学习机会 然而 经过几周的研究 我陷入了困境 需要一些帮助 我想做的是制作我自己的 WSDL 界面 其工作方式类似于 SOAPUI 我的程序将解
  • Express + EJS - 将参数传递给 EJS 视图

    我对 Node js Express EJS 相当陌生 我最近注意到 当我将参数从 Express 请求处理程序传递到 EJS 视图并省略参数名称时 它会根据变量名称创建一个名称 例如 在下面的代码中 server js var expre
  • 查找平面图(几何形状)的边界(边界)边缘

    我有顶点和边列表来描述平面几何形状 面是三角形 例如 a b e c d Verts a b c d e Edges a b a c a d a e b c c d d e 这就是我所掌握的有关该特定平面几何形状的所有信息 在此示例中 唯一
  • 在Java桌面应用程序中嵌入谷歌地图

    我想在 JPanel 上嵌入谷歌地图 由于我想要放大 缩小等功能 因此使用静态图像是不可行的 为了实现这一点 我可能需要在我的 Java 桌面应用程序中嵌入一个网页 显示谷歌地图 我读到我需要像 WebKit 替代品 这样的东西来完成这个任
  • 有没有办法从文档中隐藏宏模式?

    从 Rust 1 6 0 开始 生成的文档隐藏了每个宏模式的实现 有没有办法从 Cargo 生成的文档中隐藏一些模式 macro rules mc hide this entire pattern impl arg expr gt 42 a
  • Laravel 数据透视表观察者

    我有一个具有更新方法的观察者 观察者ServiceProvider php public function boot Relation observe RelationObserver class 关系观察者 php public func
  • JS:替换对象中与模式匹配的所有字符串值?

    我正在寻找一种有效的方法来替换对象内的值 如果它们与特定模式匹配 var shapes square attr stroke stroke width circle attr fill stroke width 例如 我希望能够将所有 图案
  • 为什么我需要使用 document.write 而不是 DOM 操作方法?

    我正在尝试一种新的广告服务 据我所知 他们没有提供加载广告的功能界面 我们希望根据用户的屏幕尺寸展示不同的广告尺寸 而该服务需要您加载不同的广告尺寸 js每种尺寸的 URL 我最初尝试写