Javascript 覆盖核心JS命令?

Javascript 覆盖核心JS命令?,javascript,browser,Javascript,Browser,我正试图修改/限制/阻止对浏览器中某些JS命令的访问。例如,像navigator.clipboard这样的命令;然而,我不知道如何处理这个问题 是否可以在页面中注入用户定义的javascript来覆盖这些命令,或者我必须编辑浏览器的javascript编译器并为此从源代码处重新编译它 我对浏览器不是很熟悉,我想通过了解大致的操作方向来节省时间。感谢首先导航器。剪贴板不是一个函数,但下面是一个使用导航器的读取功能的示例。剪贴板: navigator.clipboard.read = functio

我正试图修改/限制/阻止对浏览器中某些JS命令的访问。例如,像
navigator.clipboard这样的命令;然而,我不知道如何处理这个问题

是否可以在页面中注入用户定义的javascript来覆盖这些命令,或者我必须编辑浏览器的javascript编译器并为此从源代码处重新编译它


我对浏览器不是很熟悉,我想通过了解大致的操作方向来节省时间。感谢首先
导航器。剪贴板
不是一个函数,但下面是一个使用
导航器的
读取功能的示例。剪贴板

navigator.clipboard.read = function (originalFunction) {
    return function (yourParamsYouWantForThisFunction) {
        // Do Stuff you wanna do before the real call. For example:
        console.log(yourParamsYouWantForThisFunction);

        // Call the original function
        return originalFunction.call();
    };
}(navigator.clipboard.read); // Pass the original function reference as a parameter
您可能想知道,为什么有两个
函数
语句:

  • 第一个在那里,因此我们可以在运行时传递原始函数。如果不这样做,我们将无法访问原始的
    navigator.clipboard.read
    函数
  • 第二个函数是实际函数,稍后调用
    navigator.clipboard.read()
    时将使用该函数
您是从浏览器用户希望阻止您访问的页面执行这些操作的角度出发,还是从页面所有者的角度出发,希望阻止您的用户执行这些操作?
navigator
不是JS的一部分,它是一个DOM API。无论您尝试哪种解决方案,都会让您不高兴。猴子修补浏览器的全局JS对象可能会导致意外的效果,并且不能保证在浏览器更新后仍能正常工作。编译自己的JavaScript引擎将导致您必须维护完整的浏览器分支,包括更新、安全补丁等等。。。您实际想要实现的是什么?我想创建一个类似于可定制的“NoScript”扩展,允许我编辑JS输出,而不是完全阻止它们。抱歉没有澄清