是否有可能使document.title
(<head><title> .. </title></head>
)不可能改变Javascript?
我的问题是,在我的项目中,有一些 javascript 发生了变化document.title
每1秒我希望标题保持不变。不幸的是我无法更改或删除这些 JS 文件。我尝试过想出解决方法,例如:
function checkTitle() {
if(document.title != oldTitle)
document.title = oldTitle;
}
setInterval(checkTitle(), 100);
这似乎是个好主意,但不幸的是,我还有一个在我的网站上显示计时器的计数器。我的整个代码如下所示:
var ticks = 0;
function update() {
if(ticks % 1000 == 0) {
...update timer and some other stuff...
}
ticks+=100;
if(document.title != oldTitle)
document.title = oldTitle;
}
setInterval(update, 100);
这样的代码在 +- 100 秒后开始变慢,我的计时器肯定不会每 1 秒更新一次。
所以问题是:是否有可能使 html 元素 (..) 无法更改 javascript,如果没有,是否有任何解决方法可以解决我的问题?
提前致谢。
这可能有一些副作用,但我不确定到底是什么,但你可以重新定义title
属性并使其不可写,这比密封或冻结整个文档更好,因为它只影响title
Object.defineProperty(document, 'title', {
enumerable: false,
configurable: false,
writable: false,
value: document.title
});
FIDDLE http://jsfiddle.net/u4334pky/2/
这应该适用于 IE9 及更高版本的所有浏览器,也许还有 IE8,我还没有测试过,但我认为在 IE8 中只能更改 DOM 节点,不确定是否可以document
算不算?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)