Javascript 如何用外部(但本地)文件替换innerHTML
我正在编写一个firefox插件,它在页面顶部添加了一个div,其中包含各种内容。我可以在将html代码直接写入.innerHTML属性时更改div的内容。。。。但它看起来非常混乱,很难对代码进行更改。 我读过有关iFrame的文章,但它似乎不起作用,只显示了一条垂直线。对象标记也不起作用。 有人能帮我吗 我的代码:Javascript 如何用外部(但本地)文件替换innerHTML,javascript,html,Javascript,Html,我正在编写一个firefox插件,它在页面顶部添加了一个div,其中包含各种内容。我可以在将html代码直接写入.innerHTML属性时更改div的内容。。。。但它看起来非常混乱,很难对代码进行更改。 我读过有关iFrame的文章,但它似乎不起作用,只显示了一条垂直线。对象标记也不起作用。 有人能帮我吗 我的代码: var div = document.createElement('div'); div.id='mainplugindiv'; div.style.wid
var div = document.createElement('div');
div.id='mainplugindiv';
div.style.width = '100%';
div.style.height = '150px';
div.style.background = '#313192';
div.style.color = 'white';
div.innerHTML = "<iframe src=\"test.html\"></iframe>"; //not working
var div=document.createElement('div');
div.id='mainplugindiv';
div.style.width='100%';
div.style.height='150px';
div.style.background='#313192';
div.style.color='白色';
div.innerHTML=“”//不起作用
您可以使用Jquery进行此操作
下面的代码将把htmlSheet.html
中的所有内容加载到div
元素中
$.get("path/path/htmlSheet.html", function (htmlSheet) {
$("#mainplugindiv").html(htmlSheet);
...
}
执行上述代码后的HTML:
<div id="mainplugindiv">
//here will be the content of htmlSheet.html
</div>
//下面是htmlSheet.html的内容
您需要使用html附加元素以在网页上显示
添加HTML
<div id="div1">
</div>
并更新您的Javascript
var div = document.createElement('div');
div.id='mainplugindiv';
div.style.width = '100%';
div.style.height = '150px';
div.style.background = '#313192';
div.style.color = 'white';
div.innerHTML = "<iframe src=\"test.html\"><p>test</p></iframe>"; //not working
var element = document.getElementById("div1");
element.appendChild(div);
var div=document.createElement('div');
div.id='mainplugindiv';
div.style.width='100%';
div.style.height='150px';
div.style.background='#313192';
div.style.color='白色';
div.innerHTML=“test”//不起作用
var元素=document.getElementById(“div1”);
元素。子元素(div);
首先,我们需要创建一个div,然后创建iframe对象。然后,您可以将iframe附加到已创建的div中,然后将已创建的div附加到Html正文中
在这里
<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script>
$(document).ready(function() {
var newDiv, iframe;
newDiv = document.createElement("div");
iframe = document.createElement("IFRAME");
iframe.setAttribute("src", "http://en.wikipedia.org");;
$(iframe).appendTo($(newDiv));
$(newDiv).appendTo($('body'));
});
</script>
<body>
<p>testing
</p>
</body>
</html>
$(文档).ready(函数(){
var newDiv,iframe;
newDiv=document.createElement(“div”);
iframe=document.createElement(“iframe”);
setAttribute(“src”http://en.wikipedia.org");;
$(iframe).appendTo($(newDiv));
$(newDiv).appendTo($('body');
});
测试
在实际代码中,您只是创建一个div,而不是将其附加到页面上
您可以使用document.body.appendChild(div)
将其附加到正文中:
var div=document.createElement('div');
div.id='mainplugindiv';
div.style.width='100%';
div.style.height='150px';
div.style.background='#313192';
div.style.color='白色';
div.innerHTML=“”;
文件.正文.附件(div)代码>也许这有帮助<代码>变量iframe=document.createElement('iframe');iframe.src='url'代码>确保在控制台中检查是否找到所需的URL。(没有404个错误)这个问题没有jquery标记,为什么建议使用jquery?实际上我只是想显示工作流程。如何用外部文件替换内部html。如果不想使用jQuery。让我们试试这个。函数apendIframe(){var newDiv,iframe;newDiv=document.createElement(“div”);iframe=document.createElement(“iframe”);iframe.setAttribute(“src”,”;newDiv.innerHTML=iframe.outerHTML;document.body.appendChild(newDiv);}测试我的问题是,我没有访问源html页面的权限。因此它必须放在我的.js文件中。这个问题没有jquery标记,为什么你会建议使用jquery?这是一个可能的解决方案。是的,但我们应该始终尊重OP规范,也许他不需要jquery。提问者没有这个问题在将html代码直接写入.innerHTML属性时,我可以更改div的内容。。。。但它看起来很凌乱,很难对代码进行修改。“它不工作……它显示了iframe的框架,但没有内容,不适用于我的本地html或任何其他内容(如www.google.de)@JaninePolster也许你的路径有问题?不太可能,在这种情况下会出现404,就像上面的代码片段一样..但我的是空的。我把测试html放在每个文件夹中,可能是源文件,但仍然。。。