Вопрос

Я пытаюсь отобразить модальное диалоговое окно Javascript в Chrome, когда пользователь создает закладку.Однако, после попытки 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>
Это было полезно?

Решение

Вы не можете использовать подобное диалоговое окно на фоновой странице:

справочная информация-страницы

Вы можете сделать это на странице параметров:

Параметры расширений Google Chrome

Итак, в вашем случае вы хотели бы прослушать onCreated для поиска закладок, и поскольку вы хотите создать диалоговое окно, вам нужно будет связаться с самой страницей.Таким образом, вы получаете selectedTab через :

метод-выбирается

Как только вы получите вкладку, вы сможете выполнить JavaScript:

метод-executescript

Другие советы

Чтобы немного прояснить ответ Мохаммеда, модальный диалог closure находится на странице HTML.Вероятно, это действительно работает в вашем коде, но поскольку вы делаете это на фоновой странице, а фоновая страница не видна, вы ее не видите.Вы можете использовать методы, использующие window.open или window.оповещение с фоновой страницы, но не те, которые пытаются отобразить пользователю интерактивный HTML-код.Для этого вам нужно будет поместить содержимое во всплывающее окно или на саму страницу, как предлагает Мохаммед.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top