用javascript编辑部分

时间:2010-03-03 18:40:10

标签: javascript html

我想在页面加载后清除整个head部分...实际上,我的目标是删除head部分中保存的所有JavaScript代码。

有没有办法做这样的事情:

document.head.innerHTML = "";

说明: 我正在使用一个Python脚本,它使用Qt和webkit来截取websits的截图 它适用于大多数sties,但有一个它失败了。该网站有一堆JavaScript代码,它在超时时运行。 WebKit网页对象允许我在页面上执行JavaScript。如果有一些方法可以让JavaScript从头部删除所有代码,我希望能够尝试将其用于测试目的,以查看它是否解决了我的截图脚本问题。

5 个答案:

答案 0 :(得分:3)

您可以从头部删除元素,但这无关紧要。脚本已经运行并删除元素不会卸载它们或任何东西。

答案 1 :(得分:2)

document.getElementsByTagName("head")[0].innerHTML = "";

// IE
var htmlEl = document.getElementsByTagName("html")[0];
htmlEl.removeChild(document.getElementsByTagName("head")[0])
var el = document.createElement("head");
htmlEl.appendChild(el);

要停止由setTimeout运行的JavaScript脚本,你应该使用clearTimeout,但是对于这种情况你应该有一个处理程序......但是你很幸运,如果它们被定义为全局变量。

答案 2 :(得分:0)

尝试使用:

document.getElementsByTagName('head').innerHTML = "";

清除头部。 document.head不存在,所以这可能不起作用。

但您可能想尝试使用像noah建议的JavaScript来禁用JavaScript。

有关路线,请参阅http://www.manticmoo.com/articles/jeff/programming/javascript/removing-javascript-with-javascript.php。这听起来很疯狂但显然有效。

答案 3 :(得分:0)

正如诺亚所说,只是从头标签中删除代码将无法完成任何事情。您必须实际撤消代码正在执行的操作。例如,如果它使用setTimeout()来设置您抱怨的超时代码,则需要使用clearTimeout()来禁用它。

答案 4 :(得分:0)

$( '#标识')空(); 工作得很好。