相关疑难解决方法(0)

Chrome扩展程序 - 从网页检索全局变量

我正在开发Chrome扩展程序.我希望解析"原始"Gmail邮件(当前查看的邮件)的内容.

我试图利用jQuery.load()如下

$(windows).load(function() { alert(GLOBALS); });
Run Code Online (Sandbox Code Playgroud)

并将其放在内容脚本中,但它也不起作用.我正在使用Chrome的开发人员工具,它会在调用时返回以下错误alert(GLOBALS);

未捕获的ReferenceError:未定义GLOBALS

虽然,在使用开发人员工具的控制台时,键入控制台GLOBALS会返回一个数组.

有关如何从内容脚本访问GLOBALS的任何线索?

html javascript dom google-chrome-extension

44
推荐指数
2
解决办法
3万
查看次数

从chrome扩展程序访问iframe

我正在开发一个镀铬扩展,并遇到了一个大问题.

我正在使用内容脚本在网站上注入我的javascript代码.该网站有一个iframe.我可以更改iframe的源代码,但似乎无法访问iframe的contentWindow属性.我需要它在当前的carret位置插入文本.

所以基本上这个代码在页面的上下文中完美地工作:

$("#iframe1").contentWindow.document.execCommand("InsertHTML", false, 'test text');
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试在我的chrome扩展程序的上下文中运行时,我收到此错误:

TypeError: Cannot read property 'document' of undefined
Run Code Online (Sandbox Code Playgroud)

奇怪的是,我可以访问iframe的html.所以这段代码完全可以从chrome扩展程序中运行:

$("#iframe1").contents().find('div').html('test')
Run Code Online (Sandbox Code Playgroud)

我尝试在清单文件中放入"all_frames":true但没有运气:(

javascript iframe google-chrome-extension

11
推荐指数
1
解决办法
1万
查看次数

如何将消息发布到 iFrame 中?

我正在开发一个 Chrome 扩展程序以与我自己的 Web 应用程序一起使用,处理加载到iFrame我的应用程序主页上的网页(包括跨域页面)。所以我必须发送消息,包含要处理的页面的 URL,从我的主页面到内容脚本,注入目标iFrame以访问已处理页面的窗口。

我尝试实施这里描述的方法。以下是所有涉及的文件的基本部分:

index.html

...
<head>
    ...
    <script type="text/javascript" src="base.js"></script>
</head>
<body>
    <div>
        <input type="text" id="page_url">&nbsp;<input type="button" id="get_page" value="Get page">
    </div>
    <iframe id="cross_domain_page" src=""></iframe>
</body>
Run Code Online (Sandbox Code Playgroud)

base.js

(function() {
    "use strict";
    function pageProcessing() {
        let urlButton = window.document.getElementById("get_page");
        urlButton.addEventListener("click", () => {
            let url = window.document.getElementById("page_url").value;
            window.postMessage(
                {
                    sender: "get_page_button1",
                    message: url
                },
                "*"
            );
            window.postMessage(
                {
                    sender: "get_page_button2",
                    message: url
                },
                "*"
            );
        });
    }
    window.document.addEventListener('readystatechange', () => …
Run Code Online (Sandbox Code Playgroud)

javascript iframe postmessage google-chrome-extension content-script

10
推荐指数
1
解决办法
3万
查看次数

Chrome扩展程序:将iframe中的postMessage发送到父窗口

我正在开发我已创建iframe的Chrome扩展程序.我试图发送一条消息,postMessage并收到有关协议不匹配的消息,如下所示:

不安全的JavaScript尝试使用URL chrome-extension访问具有URL https://*的框架://gbafofmepfbgfgglhfaddmfnmdcddiig/js/content_script/file.html.请求访问的帧具有"chrome-extension"协议,被访问的帧具有"https"协议.协议必须匹配.

javascript google-chrome-extension

6
推荐指数
0
解决办法
1327
查看次数