Pergunta

Estou tentando exibir uma caixa de diálogo JavaScript modal no Chrome quando um usuário cria um marcador. No entanto, depois de tentar o fechamento e o SimpleModal+JQuery, não consigo obter uma caixa de diálogo para aparecer. Isso é uma restrição de extensões no Chrome, ou estou fazendo algo muito errado? (Ainda estou aprendendo JavaScript, então minha falta de entendimento poderia muito bem ser a razão.)

Aqui está o meu código usando o fechamento. Isso entra na função, então está funcionando bem. Alguma sugestão? Obrigado!

<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>
Foi útil?

Solução

Você não pode usar uma caixa de diálogo como esta em uma página de segundo plano:

Páginas de fundo

Você pode fazer isso para a página de opções:

Opções de extensões do Google Chrome

Portanto, no seu caso, você deseja ouvir o OnCreated para os favoritos e, como deseja fazer uma caixa de diálogo, precisaria se comunicar com a própria página. Portanto, você obtém o SelectedTab via:

Method-getSelected

Depois de obter a guia, você pode executar o JavaScript:

Method-ExecutScript

Outras dicas

Para esclarecer um pouco a resposta de Mohamed, a caixa de diálogo modal do fechamento é HTML na página. Provavelmente, isso está realmente funcionando no seu código, mas como você está fazendo isso na página de segundo plano, e a página de segundo plano não é visível, você não o vê. Você pode usar técnicas que usam Window.open ou Window.alert da página em segundo plano, mas não coisas que estão tentando exibir HTML interativo para o usuário. Para isso, você precisará colocar o conteúdo em uma janela pop -up ou na própria página, como sugere Mohamed.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top