pze*_*zko 18 html javascript jquery
是否有可能让document.title
(<head><title> .. </title></head>
)无法改变Javascript?
我的问题是,在我的项目中,有一些javascripts document.title
每1秒更改一次,我希望标题保持不变.不幸的是,我无法更改或删除这些JS文件.我试过想一下解决方法,类似的东西:
function checkTitle() {
if(document.title != oldTitle)
document.title = oldTitle;
}
setInterval(checkTitle(), 100);
Run Code Online (Sandbox Code Playgroud)
这似乎是一个好主意,但不幸的是,我也有计数器在我的网站上显示计时器.我的整个代码看起来像这样:
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);
Run Code Online (Sandbox Code Playgroud)
+ - 100秒后这样的代码开始减速,我的计时器肯定不会每1秒更新一次.
所以问题是:是否有可能使jtml元素(..)无法更改为javascript,如果没有,是否有任何解决方法我的问题?
提前致谢.
ade*_*neo 24
这可能有一些副作用,但我不确定究竟是什么,但你可以重新定义title
属性并使其不可写,这比密封或冻结整个文件更好,因为它只会影响title
Object.defineProperty(document, 'title', {
enumerable: false,
configurable: false,
writable: false,
value: document.title
});
Run Code Online (Sandbox Code Playgroud)
这应该适用于IE9及以上的所有浏览器,也许IE8,我还没有测试过,但我认为在IE8中只能更改DOM节点,不确定是否document
计数?