从javascript脚本重定向document.write

mja*_*day 2 javascript

我们希望在我们的网站上投放广告,但我们正在讨论的广告服务器在向我们提供足够快的广告方面存在问题.

我认为这个问题是我们应该包含<script src="http://advertiserurl/myadvertkey"></script>我们想要显示广告的位置,然后下载脚本并使用document.write插入一些html.

问题是对广告客户网站的调用很慢并且返回的代码然后下载另一个文件(广告),这意味着在我们等待请求被填充时渲染页面的速度变慢.

有没有办法从document.write调用中获取输出并在页面加载后写入?

基本上我想这样做:

<html>
<body>

    <script>
function onLoad() {
    var urlToGetContentFrom = 'http://advertiserurl/myadvertkey';

    //  download js from above url somehow

    var advertHtml = // do something awesome to interprete document.write output
    $('someElement').innerHTML = advertHtml;
}
    </script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

或任何类似的东西,让我得到该文件的输出并显示它.

Gre*_*reg 6

如果我理解正确,您希望将document.write捕获到变量而不是将其写入文档.你实际上可以这样做:

var advertHtml = '';
var oldWrite = document.write;

document.write = function(str)
{
    advertHtml += str;
}

// Ad code here

// Put back the old function
document.write = oldWrite;

// Later...
...innerHTML = advertHtml;
Run Code Online (Sandbox Code Playgroud)

您仍然可以加载脚本文件.