1

我正在编写一个 chrome 扩展,其中有一个弹出窗口。当用户身份验证失败时,弹出窗口会显示登录失败的通知,我希望在该通知中包含指向我的扩展选项页面的链接。所以我在弹出窗口javascript文件中这样做:

function notifyHTML(html) {
    $("#notification_bar").html(html);
    $("#cont").fadeIn(30).delay(3000).fadeOut(300); //notify    
}
function onLoginFailed() {
    console.log("From extension: Login failed. Check username-password");
    notifyHTML("Login Failed. Update in <a href=\"chrome-extension://__MSG_@@extension_id__/html/options.html\">Options</a> page");
}

相关HTML:

<div>
          <div id="cont"><div id="notification_bar"></div></div>
          <!-- More HTML -->
</div>

但这样做会导致该通知中的链接无效。如何解决这个问题?

4

2 回答 2

2

使用以下代码

function onLoginFailed() {
    console.log("From extension: Login failed. Check username-password");
    retStr = "Login Failed. Update in <a href=\"chrome-extension://" + chrome.i18n.getMessage("@@extension_id") + "/html/options.html\">Options</a> page";
    notifyHTML(retStr);
}

您应该使用chrome.i18n.getMessage()API 来使用任何预定义的消息。

参考

于 2013-02-17T09:38:30.427 回答
0

更好的选择是使用chrome.extension.getURL

function onLoginFailed() {
  console.log("From extension: Login failed. Check username-password");
  notifyHTML('Login Failed. Update in <a href="' + chrome.extension.getURL("/html/options.html") + '">Options</a> page');
}

http://developer.chrome.com/extensions/extension#method-getURL

于 2014-03-08T09:43:05.647 回答