javascript - Chrome 扩展程序中的显示对话框

标签 javascript google-chrome google-chrome-extension

当用户创建书签时,我尝试在 Chrome 中显示模式 Javascript 对话框。但是,在尝试 Closure 和 SimpleModal+JQuery 后,我似乎无法出现对话框。这是 Chrome 中扩展的限制,还是我做错了什么? (我还在学习 Javascript,所以我对它缺乏理解很可能是原因。)

这是我使用闭包的代码。它确实将其放入函数中,所以工作正常。有什么建议么?谢谢!

<html>
    <head>
        <script src="./lib/closure-library/closure/goog/base.js"></script>
        <script type="text/javascript" src="./lib/closure-library/closure/goog/deps.js"></script>
        <script>goog.require('goog.ui.Dialog');</script>
        <script type="text/javascript">
            chrome.bookmarks.onCreated.addListener(function(id, bookmark) {
                // Setup the dialog box.
                var dialog1 = new goog.ui.Dialog();
                dialog1.setContent('[Insert Placeholder]');
                dialog1.setTitle('Title Placeholder');

                // Display dialog.
                dialog1.setVisible(true);
            });
        </script>
    </head>
    <body>
        <!-- Do Nothing -->
    </body>
</html>

最佳答案

您不能在后台页面中使用这样的对话框:

<强> background-pages

您可以对选项页面执行此操作:

<强> Google Chrome Extensions Options

因此,在您的情况下,您需要监听 onCreated 的书签,并且由于您想要创建一个对话框,因此您需要与页面本身进行通信。因此,您可以通过以下方式获取 selectedTab:

<强> method-getselected

获得该选项卡后,您就可以执行 JavaScript:

<强> method-executescript

关于javascript - Chrome 扩展程序中的显示对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1992200/

相关文章:

javascript - 未捕获的语法错误 : Unexpected token ILLEGAL on javascript objects

javascript - 无法将值从 window.opener 传递到其父级

javascript - NodeJS https 服务器使用 express 返回 ERR_SSL_PROTOCOL_ERROR

javascript - 单击浏览器后退按钮时如何警告用户

javascript - 创建新选项卡时隐藏 Chrome 扩展页面的 url

css - 可以使用浏览器扩展来添加自定义字段吗?

javascript - 根据其他选择值隐藏和显示选择选项

ios - iPad 上的 iOS 版 Chrome 用户代理

javascript - 在 chrome 83 中悬停时如何从选项中删除黑色边框

javascript - 我可以用 javascript 在 chrome 中按下 "back"按钮吗