Google Chrome 扩展程序重定向不同页面

ftd*_*per 5 javascript google-chrome google-chrome-extension google-chrome-app

我有 popup.html 我想在用户单击 href 时在扩展中加载不同的 html 页面。示例用户将输入用户名和密码,如果正确,则 login.html 重定向到内容。

尝试过这个:

window.onload=function(){
$( '#Login' ).click(function() { 
    alert('test');  
        chrome.browserAction.setPopup({
            popup:"login.html"
            });
        
});
}
Run Code Online (Sandbox Code Playgroud)

登录是一个按钮。但是login.html没有显示。警报正在工作。

Dou*_*eri 2

要更改弹出的 html 页面,您可以使用

chrome.browserAction.setPopup
Run Code Online (Sandbox Code Playgroud)

有关此页面的更多详细信息http://developer.chrome.com/extensions/browserAction.html

你可以这样做:

在 HTML 中:

<a onclick="changePopup();" href="#"> change popup</a>
Run Code Online (Sandbox Code Playgroud)

在js中:

function changePopup(){
    chrome.browserAction.setPopup({
       popup:"second_page.html"
    });
}
Run Code Online (Sandbox Code Playgroud)

您没有指定链接放置在哪里吗?在弹出页面或在 html 页面中,所以我假设链接放置在弹出 html 页面中。

如果链接位于扩展程序外部,则应使用内容脚本https://developer.chrome.com/extensions/content_scripts.html

更新:您应该根据您的需要使用后台页面或事件页面将 java 脚本文件放入您的 manifest.json 中。

您可以在这里找到更多信息:

https://developer.chrome.com/extensions/background_pages.html

http://developer.chrome.com/extensions/event_pages.html

....
  "background": {
    "scripts": ["background.js"]
  },
....
Run Code Online (Sandbox Code Playgroud)

如果您使用 标签 从 html 页面加载 javscript 文件<script>,则应使用消息传递 api: http: //developer.chrome.com/extensions/messaging.html与您的 html 进行交互。