Javascript 如何通过JS嵌入代码嵌入HTML
我需要给用户一段js代码,将一些HTML代码插入到页面中 我想知道最好的方法是什么。我应该使用document.write吗?我应该通过DOM编程创建所有HTML元素吗Javascript 如何通过JS嵌入代码嵌入HTML,javascript,jquery,html,mootools,Javascript,Jquery,Html,Mootools,我需要给用户一段js代码,将一些HTML代码插入到页面中 我想知道最好的方法是什么。我应该使用document.write吗?我应该通过DOM编程创建所有HTML元素吗 可以使用js库吗?如果代码嵌入的网页已经包含库,我可以看到冲突发生 使用库可能太重,插入DOM元素非常冗长,如果目标站点使用应用程序/xhtml+xml内容类型,document.write可能无法工作。我认为最好的方法是使用document.createElement构造一个元素,然后在此基础上设置innerHTML。如果插入
可以使用js库吗?如果代码嵌入的网页已经包含库,我可以看到冲突发生 使用库可能太重,插入DOM元素非常冗长,如果目标站点使用
应用程序/xhtml+xml
内容类型,document.write可能无法工作。我认为最好的方法是使用document.createElement
构造一个元素,然后在此基础上设置innerHTML
。如果插入简单,您可以使用纯js,否则如果您想提供一些复杂的功能,可以使用library。在这种情况下,最好的选择是不扩展根对象(数组、函数、字符串)以防止冲突的库(noConflict模式下的jQuery、YUI等)
无论如何,最好避免使用文档。编写您最好使用现有元素的innerHTML设置或创建新元素。建议:
将此DIV插入要显示输出的任何位置:
<div id="uniqueTargetID" style="display: none;"></div>
然后在页面底部有以下内容:
<script src="snippet.js"></script>
此文件(远程托管或其他方式)包含可通过以下方式输出的简单文本:
var html = [];
html.push('<h1>This is a title</h1>');
html.push('<p>So then she said, thats not a monkey, its a truck!</p>');
html.push('<p>You shoulda seen his face...</p>');
var target = document.getElementById('uniqueTargetID');
target.innerHTML = html.join('');
target.style.display = 'block';
var html=[];
push('这是一个标题');
推(“然后她说,那不是猴子,是卡车!”;
推(你应该看看他的脸…);
var target=document.getElementById('uniqueTargetID');
target.innerHTML=html.join(“”);
target.style.display='block';
如果您有帮助,我会避免使用document.write()。Javascript::
//to avoid global bashing
(function(){
var target = document.getElementById('ScriptName'),
parent = target.parentElement,
oput = document.createElement('div');
oput.innerHTML = "<p>Some Content</p>";
parent.insertBefore(oput, target);
}());
//避免全局重击
(功能(){
var target=document.getElementById('ScriptName'),
parent=target.parentElement,
oput=document.createElement('div');
oput.innerHTML=“某些内容””;
parent.insertBefore(oput,target);
}());
要提供给客户/人员的HTML::
<script type="text/javascript" id="ScriptName" src="/path/to/ScriptName.js"><script>
ScriptName应该是脚本特有的名称。如果html中有单引号或双引号,会发生什么情况。有没有比用“替换”更好的方法来逃避js?一个挑剔的问题。。。join(“”),如果保持原样,会得到一堆逗号:)rksprst:这里提出的任何解决方案都会有这个问题。答案取决于您的数据来自何处,以何种形式,以及您如何利用这些数据,这是对您的脚本的补充。