从Chrome扩展显示对话框
-
22-09-2019 - |
题
我想在Chrome浏览器显示一个模式的JavaScript对话框,当用户创建一个书签。然而,试图关闭和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>
解决方案
您不能在后台页面使用的对话框是这样的:
<强> 背景页 强>
您可以做到这一点的选项页:
<强> 谷歌浏览器扩展选项 强>
所以你的情况,你会想要听onCreated书签,既然你想做一个对话框,你需要传达给页面本身。因此,你通过得到selectedTab:
<强> 方法-getselected 强>
一旦你的标签,你就可以执行JavaScript的:
<强> 方法-executescript 强>
其他提示
要澄清穆罕默德的回答了一下,封闭的模态对话框是页HTML。这可能是真正在你的代码的工作,但因为你是在后台页面做,背景页面是不可见的,你看不到它。您可以使用使用window.open或window.alert从背景页试图显示HTML互动给用户的技术,而不是东西。对于这一点,你需要的内容进入一个弹出窗口或到页面本身穆罕默德建议。
不隶属于 StackOverflow