问题标签 [document.write]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
13202 浏览

javascript - javascript document.write 在外部 js 文件中

在从事大型、高负载的项目时,我遇到了论坛和博客上已经在数十亿个主题中描述的问题,但没有解决方案对我的情况有帮助。这是故事。

我有横幅的HTML代码,我不知道代码是什么。有时它是纯 HTML,但有时它是<script>带有 document.write的<script>标签,其中带有 src 的标签,可以在其中双击网络。

所以我们有:脚本 > document.write > 脚本(双击)。

双击网络,您可能知道,也使用 document.write 并且大多数时候他们提供需要加载更多 js 文件的 flash 横幅。

所以毕竟我们有: script > document.write > script(doubleclick) > document.write > script > ...

当您直接将它放在 HTML 中时,这很有效。页面渲染1部分,加载banner1,继续渲染页面,加载banner2,完成页面渲染。

但是现在我需要先渲染页面,并且只有在加载横幅之后。作为横幅使用 document.write 我需要在 window.onload 事件之前加载它(注意:在 window.onload document.write 之后将重写整个文档。)

我做了什么:

在头部分我有一个横幅对象(真正的命名空间类型很大:)),具有属性范围。

当页面渲染和横幅代码相遇时,我将横幅的代码放入范围并放置<div id="bannerPlaceHolder"+id></div>——所以这里我稍后需要放置横幅内容

页面呈现和</body>标记之前,我将<script>banners.load()</script>banners.load 方法对范围数组中的每个项目执行此操作:

只有在此之后,我才有window.onload()这样做的事件:

获取所有横幅codeHolders并逐个节点将其节点从codeHolder附加到placeHolder,因此结果我在渲染页面后加载了横幅并且横幅位于正确的位置。

除了 IE 之外,一切都很完美,它会加载以异步方式动态放入 DOM 的任何 js 脚本,因此双击脚本中的 document.write 会将节点附加到文档的末尾,而不是在我的 codeHolder 节点中。像往常一样,它只在 IE 中。

我将非常感谢任何可能知道解决方案的人。

0 投票
10 回答
4112 浏览

javascript - 为什么使用 document.write?

我想知道为什么广告仍然使用 document.write 方法将添加插入页面

为什么我不能放

代替广告?

0 投票
3 回答
988 浏览

javascript - JavaScript 花絮是如何将远程小部件插入页面的?

假设我有一个 Web 服务,它允许用户将一段 JavaScript 插入到他们的页面上,当加载时,它会从我的服务器中获取一个小部件并将其插入到他们的页面中。我该怎么做,我应该使用什么技术?

document.write?

0 投票
1 回答
455 浏览

javascript - 别名 DOM 函数 (Document.Write) 和其他域上的脚本

当我将它们加载到我的域中时,我想强制外部 3rd 方脚本(在单独的域上)使用我自己的 document.write 自定义实现。

IE:

这适用于同一域上的脚本,但其他域上的脚本使用浏览器默认值。我可以覆盖这个吗?

0 投票
2 回答
3259 浏览

javascript - 在javascript中使用onclick-event和document.write时,是否总是必须在新窗口中打开

它是否必须在 sam 中打开例如:

函数 write(){ document.write("write") }

输入类型="按钮" onclick="write()" 值="点击"

0 投票
4 回答
2141 浏览

javascript - JS:通过 document.write 显示带有变量的 html

前几天我刚开始学习 JS,我(当然)遇到了一些困难。我通常会很快掌握事情,但我无法终生找到解决方案。我想了解为什么会这样。

我的目标是使用3个提示框,依次出现,打印出一段html代码,这将是一个简单的URL。我会添加更多内容,但我想先解决这个问题。

目前,我收到了提示,但是在我将数据输入第三个框并提交后,什么也没有发生。

我在这里做错了什么?如果我的 document.write 代码有错误,我应该注意哪些事项?

谢谢!..

0 投票
12 回答
144709 浏览

javascript - 使用 Javascript 编写 HTML 的正确方法是什么?

似乎有经验的 Web 开发人员document.write()在编写动态 HTML 时不赞成在 JavaScript 中使用。

为什么是这样?什么是正确的方法?

0 投票
7 回答
12838 浏览

javascript - JavaScript - 控制 document.write 的插入点

我想创建一个运行 3rd 方脚本的页面,该脚本包含document.write在 DOM 已经完全加载之后。

我的页面不是 XHTML。我的问题是 document.write 覆盖了我自己的页面。(这是加载 DOM 后所做的事情)。

我尝试覆盖 document.write 函数(以类似于http://ejohn.org/blog/xhtml-documentwrite-and-adsense/的方式),但这不包括 document.write 包含部分标签的情况。

一个会破坏上述代码的例子是:

有没有办法通过 JavaScript 修改 document.write 插入点?有没有人有更好的想法如何做到这一点?

0 投票
6 回答
16996 浏览

javascript - 为什么这个 JavaScript(使用 document.open 和 document.write)不能在 Internet Explorer 或 Opera 中工作?

我迫切需要一些帮助。

我创建了一个 <script> ,它与我在别处编写的另一个更复杂的 <script> 非常相似,并重现了该问题。

这是它的作用:

  • 创建一个 <iframe> 并插入到页面上的 <div> 中
  • 创建一个文档并将其附加到该 <iframe>,其中包含一个定义一些函数的 <script>(包括一个回调函数和一个使用 AJAX 加载外部 <script> 的函数)
  • 后一个外部脚本只是对回调函数的调用,它调用一个创建文档并将其附加到它所在的 <iframe> 的函数;这应该有效地覆盖 <script>

涉及的三个文件是:

这一切都适用于 Firefox、Safari 和 Chrome。它在 Internet Explorer 和 Opera 中出现故障。发生的情况是 main.js 中的 render() 函数执行,所有三个警报都被触发,但 <iframe> 中的文档没有被覆盖。我不知道正在创建或写入什么文件,或者根本就没有。

如果我在 render() 函数的开头添加调试代码(如 console.log(document)),工作浏览器似乎可以处理现有的 <iframe> 文档并列出下面包含的属性。Internet Explorer 似乎也能找到某种文档。我只是不知道为什么它不让我覆盖它。

会不会是范围问题?也许我不正确地使用了 document.write()、document.open() 或 document.close() 方法,而 Firefox 和其他一些浏览器只是让我侥幸逃脱?

一个可能的线索:如果我取出 render() 函数的胆量(即,将它们放在 main.js 中的 load() 之后),这可以正常工作。这向我表明,这不是我使用 document.open() 等的方式,而是在执行 callback() 函数时,文档对象不可用或超出范围,或类似的东西。

这让我完全被难住了,这是一个非常重要的项目,截止日期即将到来。如果它能让我摆脱困境,我不会超越黑客或解决方法。任何帮助或见解将不胜感激!

console.log() 的文档属性列表:

0 投票
0 回答
1229 浏览

javascript - Google Analytics 跟踪代码和 Document.write 导致对 localhost 的请求?

Google Analytics 建议</body>在我们网站上所有网页的标签之前插入以下代码,以启用访问者跟踪。

问题是我在 WebObjects 4.01 错误日志中收到此错误:

找不到名为“google-analytics.com”的直接操作类。

这意味着有一个http://www.mysite.com/cgi-bin/WebObjects/mysite.woa/wa/google-analytics.com的请求。我认为造成这种情况的原因是 javascript 中的变量gaJsHost未设置,这将导致 document.write 写出:

<script src='google-analytics.com/ga.js' type='text/javascript'></script>

我已经看到使用 Google Analytics 的非 WebObjects 开发人员提出了这一点(他们将问题视为 404 错误),但没有人很好地解释如何/为什么没有设置 gaJsHost 变量。我希望这里的人可以对这个问题有所了解。