google-chrome - 在 Firefox 扩展中复制 Google Chrome 浏览器操作弹出效果

标签 google-chrome xul firefox-addon google-chrome-extension

默认情况下,Chrome 浏览器操作提供了非常好的弹出效果。

已删除 ImageShack 图片链接已删除

  • 将鼠标悬停在工具栏图标上可提供简洁的悬停效果。
  • 单击工具栏图标会显示一个很好的动画,可以打开弹出的 html 文件。
  • 弹出窗口与按下的按钮对齐。
  • 再次单击工具栏图标会淡出弹出窗口。

  • 关于如何使用 Firefox 扩展来近似这种效果的任何想法?有没有人成功实现类似这种效果?

    谢谢。

    最佳答案

    对于像我这样刚开始使用第一个 Firefox 扩展的每个人,这里有一个示例代码:

    yourextname\chrome\content\browser.xul

    <?xml version="1.0"?>
    <?xml-stylesheet href="chrome://yourextname/skin/toolbar.css" type="text/css"?>
    
    <overlay id="yourextname_overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
        <popupset>
            <menupopup id="yourextname_menu_popup">
                <menuitem label="Website" oncommand="gBrowser.selectedTab = gBrowser.addTab('http://www.your-website.com/');" />
                <menuseparator />
                <menuitem label="Options" oncommand="window.open('chrome://yourextname/content/options.xul', 'Options', 'dialog,chrome,modal,titlebar,toolbar,centerscreen=yes');" />
            </menupopup>
    
            <panel id="yourextname_popup" noautohide="false" noautofocus="true">
                <label control="vvvname" value="Name:"/><textbox id="vvvname"/>
            </panel>
        </popupset>
    
        <toolbarpalette id="BrowserToolbarPalette">
            <toolbarbutton id="yourextname_toolbar_button" class="toolbarbutton-1" context="yourextname_menu_popup" oncommand="document.getElementById('yourextname_popup').openPopup(document.getElementById('yourextname_toolbar_button'), 'after_start', 0, 0, false, false);" label="button name" tooltiptext="tooltip" />
        </toolbarpalette>
    </overlay>
    

    yourextname\skin\toolbar.css
    这将向工具栏按钮添加图标:
    #yourextname_toolbar_button {
        list-style-image:url(chrome://yourextname/skin/icon_024.png);
    }
    
    toolbar[iconsize="small"] #yourextname_toolbar_button {
        list-style-image:url(chrome://yourextname/skin/icon_016.png);
    }
    

    yourextname\chrome.manifest
    content yourextname chrome/content/
    overlay chrome://browser/content/browser.xul chrome://yourextname/content/overlay.xul
    
    skin    yourextname classic/1.0 skin/
    style   chrome://global/content/customizeToolbar.xul chrome://yourextname/skin/toolbar.css
    

    注意:确保将所有“yourextname”字符串替换为唯一的字符串,最好使用您的扩展名。

    关于google-chrome - 在 Firefox 扩展中复制 Google Chrome 浏览器操作弹出效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2075697/

    相关文章:

    google-chrome - CURL 不适用于参数中带有花括号的 URL

    javascript - 这个SDK无法使用,难道是它的SDK不稳定?

    javascript - Google Chrome - 如何终止正在播放 mjpeg 流的 iframe 的流捕获?

    javascript - 在 XUL JavaScript 中执行 XSLT 转换文件时出现问题

    javascript - 如何在 XUL 应用程序中使用进度表?

    javascript - 向“下载文件”对话框添加一个选项?

    javascript - Firefox插件中的内容脚本和跨域请求

    PHP UFT8 编码 Internet Explorer 问题

    css - xul 菜单按钮上的鼠标悬停事件

    firefox-addon - 使面板仅适用于某些 URL