Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将元素附加到HTML对象标记?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何将元素附加到HTML对象标记?

Javascript 如何将元素附加到HTML对象标记?,javascript,jquery,html,Javascript,Jquery,Html,因此,我遇到了一个问题,我想在我的网站中加载的HTML对象标记中禁用右键单击网站,正如这里所解释的,我发现这个google扩展()与我想要的正好相反 阅读所有代码并分析它的功能,我发现当加载站点时,它会向文档体附加一个脚本,这样就可以右键单击捕获contextmenu事件并停止传播或类似的操作 所以我只是将脚本添加到我的网站上,但它在HTML对象标记中加载的网站上不起作用,它在其他任何地方都起作用。但是当使用扩展时,它确实在加载到HTML对象标记中的网站中起作用 因此,我进行了几次测试和调试,发

因此,我遇到了一个问题,我想在我的网站中加载的HTML对象标记中禁用右键单击网站,正如这里所解释的,我发现这个google扩展()与我想要的正好相反

阅读所有代码并分析它的功能,我发现当加载站点时,它会向文档体附加一个脚本,这样就可以右键单击捕获contextmenu事件并停止传播或类似的操作

所以我只是将脚本添加到我的网站上,但它在HTML对象标记中加载的网站上不起作用,它在其他任何地方都起作用。但是当使用扩展时,它确实在加载到HTML对象标记中的网站中起作用

因此,我进行了几次测试和调试,发现当网站加载到HTML对象标记中时,扩展还将脚本附加到其主体中,例如下面这个简单的代码(与我上一篇文章中使用的代码非常类似):

因此,在启用扩展的情况下,它会将脚本(web_accessible_resources/index.js)附加到主体,但也会将其附加到HTML对象标记内的主体

显然,扩展还有一些脚本,但原则仍然存在,因此,如果我可以将一个脚本附加到加载在HTML对象标记中的网站主体中,我就可以完成我想要做的事情

你知道我如何将脚本附加到HTML对象标记中加载的网站吗

编辑:
如果由于同源策略而无法做到这一点,为什么chrome扩展能够做到这一点?

这与您的输入问题是相同的安全问题。您不能像那样跨域进行更改。但如果扩展正在执行,它是如何执行的?扩展与网页具有不同的权限。另外,不要禁用右键单击。不同的权限如何?另外,我真正想要的是在一个禁用了右键的网站上启用右键单击,但当我创建我的示例时,我使用了一个启用右键单击的网站,所以我说我想禁用它,我只是无缘无故地认为这比说“假设这个网站禁用了右键单击,我想做的是启用它”更容易,所以我就这么做了。现在我意识到解释这个问题变得更加困难。这和你的输入问题是一样的安全问题。您不能像那样跨域进行更改。但如果扩展正在执行,它是如何执行的?扩展与网页具有不同的权限。另外,不要禁用右键单击。不同的权限如何?另外,我真正想要的是在一个禁用了右键的网站上启用右键单击,但当我创建我的示例时,我使用了一个启用右键单击的网站,所以我说我想禁用它,我只是无缘无故地认为这比说“假设这个网站禁用了右键单击,我想做的是启用它”更容易,所以我就这么做了。现在我意识到解释这件事变得更难了。
<html lang="en">
<head>
    <script>
        function fill(){
            document.addEventListener('contextmenu', handleEvent, true);
        }

        function handleEvent (event) {
            alert("working");
        }
    </script>
</head>
<body>
    <button type="button" id="fill" onclick="fill()">Fill</button>
    <object id='miobj' style="width:800px;height:600px;" data="http://validator.w3.org/" />
</body>
</html>
var scp = document.createElement('script');
scp.src = chrome.extension.getURL('web_accessible_resources/index.js');
document.body.appendChild(scp);
function postWebAccessibleResourceMessage (flag) {
    window.postMessage({
        'type': 'enable-right-click',
        'disableRightClick': flag
    }, '*');
}