使document.title无法访问Javascript

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计数?