【发布时间】:2013-07-15 06:21:15
【问题描述】:
我正在创建一个 mozilla 扩展程序,通过单击“转换按钮”(标签:转换)将网页内容转换为其他语言 并且它的标签被转换为英文,以便在单击该按钮(标签:英文)时,内容被转换为原始形式
我尝试为每个选项卡设置属性“changedcontent”,以便在事件焦点上,焦点选项卡读取其“changedcontent”属性并在按钮上设置标签(“转换”或“英语”)
问题出现在我需要在多个选项卡之间切换时,不同选项卡中的插件应根据是否显示更改的内容保持不同的状态(应显示按钮标签:英文) 或者是原始形式(应显示按钮标签:“转换”)
所以当我单击刷新按钮或单击网页中的其他链接时。页面上带有转换内容的“English”按钮的标签应更改为“Convert” 所以为此我已经处理了页面卸载事件来跟踪页面刷新或链接点击,但是由于网页可能包含多个框架/iframe,这个事件被多次调用。 如果同时切换选项卡,其他选项卡的标签会从“English”转换为“Convert”
卸载事件的代码是:
window.addEventListener('unload', unloadingDocument, true);
function unloadingDocument()
{
var currentTab = gBrowser.selectedTab;
currentTab.setAttribute("changedcontent" , "false");//set the transliterated attribute back to false
var convertButton = document.getElementById("convert_button");
convertButton.setAttribute("label","Convert");
}
请建议我如何解决这个问题并在多个选项卡之间保持 Mozilla 插件的不同状态。
谢谢
【问题讨论】:
标签: javascript firefox-addon mozilla