阻止其他脚本设置window.title?

Mos*_*she 5 javascript google-chrome-extension

我正在开发一个 chrome 扩展,并在 onload 处理程序中设置了 window.title 。不过,我正在修改的页面似乎也动态设置文档标题。有大量的脚本被链接。在不知道修改来自何处的情况下,有什么方法可以阻止其他人修改document.title或其任何变体?或者,有没有一种快速的方法可以让我看到变化来自哪里?

Mix*_*OID 5

我遇到了同样的问题,一些外部脚本更改了我的页面标题document.title = "..."

我已经为此制定了自己的解决方案:

try {
    window.originalTitle = document.title; // save for future
    Object.defineProperty(document, 'title', {
        get: function() {return originalTitle},
        set: function() {}
    });
} catch (e) {}
Run Code Online (Sandbox Code Playgroud)


Chr*_*son 0

这个SO 答案提出了一种如何监听文档标题更改的技术。

也许您可以使用该技术来创建一个回调,一旦其他脚本尝试更改标题,该回调会将标题更改回您想要的任何内容。