我正在尝试替换Javascript中的document.write()
函数。不完全确定怎么做,因为我不知道将HTML写入哪个元素。
目前,使用以下代码将代码javascript代码插入到我的页面中
<script src="//example.com/file.js" type="text/javascript"></script>
该文件包含document.write()
函数:
document.write('<h2>Testing HTML</h2>Hello');
但是,由于document.write()
无法异步调用,我需要找出另一种解决方案。我不能使用getElementsById()
或类似的东西,因为我根本不知道目标网站上的任何元素。
我希望HTML代码完全插入脚本标记的位置。
有什么建议吗?
答案 0 :(得分:5)
试试这个:
textArea.append(sCurrentLine + System.getProperty("line.separator"));
在javascript中:
<script src="//example.com/file.js" type="text/javascript" id="myScript"></script>
由于您没有脚本ID,请尝试以下操作:
var script = document.getElementById('myScript');
script.outerHTML += '<h2>Testing HTML</h2>Hello';
答案 1 :(得分:0)
首先,您需要创建一个元素来添加您的HTML,如果您已将HTML添加到变量中,那就太棒了,请使用它而不是下面的yourElement
。
// Create an element, add HTML to it
var yourElement = document.createElement ('div');
yourElement.innerHTML = '<div>Test</div>';
然后,您将获得当前的JavaScript代码......
// Get the current script tag (meaning yours)
var scripts = document.getElementsByTagName ('script');
var thisScript = scripts[scripts.length - 1]
您将在此标记之前插入HTML元素...
// Insert your element before current script tag
thisScript.parentNode.insertBefore (yourElement, thisScript);
您也可以在JavaScript标记之后插入HTML元素。
信用:此代码的灵感来自HashOver:tildehash.com/hashover/hashover.js