1moretime
小狐狸
小狐狸
  • UID23436
  • 注册日期2008-03-28
  • 最后登录2011-09-09
  • 发帖数46
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:2750回复:6

求FF6能用的 open url in new tab uc.js

楼主#
更多 发布于:2011-08-30 11:43
如题。谢谢
GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
1楼#
发布于:2011-08-30 11:43
(function() {
    /*open bookmark/history in new tab */
    try {
        eval("whereToOpenLink = " + whereToOpenLink.toString().replace(
            /var shift/,"var Class=e.target.getAttribute('class'); try "
            +"{ if (Class=='') Class=e.target.parentNode.getAttribute('"
            +"class');} catch(e) {} Browser=getTopWin().document.getEle"
            +"mentById('content'); if ((!IsBlankPage(Browser.currentURI"
            +".spec)|| Browser.webProgress.isLoadingDocument) && Class "
            +"&& (Class=='sidebar-placesTreechildren'||Class=='placesTr"
            +"ee'||Class.indexOf('bookmark-item')>=0)) return 'tab'; $&"
            ));
    }catch(e){}

    /*open url in new tab */
    try {
        var new_str = '_LoadURL(aTriggeringEvent, ';
        var old_str = /if \(aTriggeringEvent instanceof MouseEvent\) {/;
        try { // firefox 3.0.*
            eval("BrowserLoadURL = "+ BrowserLoadURL.toString().replace(
                old_str, new_str+' aPostData); return; $&'));
        }
        catch(e) { // firefox 3.1+
            var urlbar = document.getElementById("urlbar");
            eval("urlbar.handleCommand="+ urlbar.handleCommand.toString(
                ).replace(old_str, new_str+' postData); return; $&'));
        }
    }catch(e){}
})();

function _LoadURL(aTriggeringEvent, aPostData)
{
    var where = (gBrowser.currentURI.spec!='about:blank' ||
        gBrowser.webProgress.isLoadingDocument) ? 'tab' :
        'current';
    if (gURLBar.value!='') openUILinkIn(gURLBar.value, where);
    return true;
}

function IsBlankPage(url)
{
    return url=="" || url=="about:blank" || url=="about:home";
}
1moretime
小狐狸
小狐狸
  • UID23436
  • 注册日期2008-03-28
  • 最后登录2011-09-09
  • 发帖数46
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
2楼#
发布于:2011-08-30 11:43
貌似这个脚本在6.0下,地址栏输入URL不能在新标签页打开
shenmo
小狐狸
小狐狸
  • UID33580
  • 注册日期2010-07-30
  • 最后登录2022-12-29
  • 发帖数77
  • 经验68枚
  • 威望0点
  • 贡献值28点
  • 好评度1点
3楼#
发布于:2011-08-30 11:43
uc脚本的代码
// ==UserScript==
// @name           open_in_new_tab
// @description    Open in new tab
// @compatibility  Firefox 3.0+
// @author         GOLF-AT
// @version        1.5.20101229

(function() {
    /*open bookmark/history in new tab */
    try {
        eval("whereToOpenLink = " + whereToOpenLink.toString().replace(
            /var shift/,"var Class=e.target.getAttribute('class'); try "
            +"{ if (Class=='') Class=e.target.parentNode.getAttribute('"
            +"class');} catch(e) {} Browser=getTopWin().document.getEle"
            +"mentById('content'); if ((Browser.currentURI.spec!='about"
            +":blank'||Browser.webProgress.isLoadingDocument) && Class "
            +"&& (Class=='sidebar-placesTreechildren'||Class=='placesTr"
            +"ee'||Class.indexOf('bookmark-item')>=0)) return 'tab'; $&"
            ));
    }catch(e){}

    /*open url in new tab */
    try {
        var new_str = '_LoadURL(aTriggeringEvent, ';
        var old_str = /if \(aTriggeringEvent instanceof MouseEvent\) {/;
        try { // firefox 3.0.*
            eval("BrowserLoadURL = "+ BrowserLoadURL.toString().replace(
                old_str, new_str+' aPostData); return; $&'));
        }
        catch(e) { // firefox 3.1+
            var urlbar = document.getElementById("urlbar");
            eval("urlbar.handleCommand="+ urlbar.handleCommand.toString(
                ).replace(old_str, new_str+' postData); return; $&'));
        }
    }catch(e){}

    /*open home in new tab */
    try {
        eval("BrowserGoHome = " + BrowserGoHome.toString().replace(
            /switch \(where\) {/, "where = (gBrowser.currentURI.spec!="
            +"'about:blank' || gBrowser.webProgress.isLoadingDocument"+
            ") ? 'tab' : 'current'; $&")); 
    }catch(e){}

    /*open search in new tab */
    try {
        var searchbar = document.getElementById("searchbar");
        eval("searchbar.handleSearchCommand="+searchbar.handleSearchCommand.
            toString().replace(/this.doSearch\(textValue, where\);/,
            "if (!gBrowser.webProgress.isLoadingDocument && gBrowser.curren"
            +"tURI.spec=='about:blank') where='current'; else where='tab'; "
            +"$&"));
    }catch(e){}

})();

//总在当前标签页打开Bookmarklet
eval("openLinkIn = " + openLinkIn.toString()
  .replace(/(?=if \(where == "save"\))/, 'if (url.substr(0, 11) == "javascript:") where = "current";')
  .replace(/(?=var loadInBackground)/, 'if (w.gBrowser.currentURI.spec == "about:blank" && !w.gBrowser.mCurrentTab.hasAttribute("busy")) where = "current";')
);

function _LoadURL(aTriggeringEvent, aPostData)
{
    var where = (gBrowser.currentURI.spec!='about:blank' ||
        gBrowser.webProgress.isLoadingDocument) ? 'tab' :
        'current';
    if (gURLBar.value!='') openUILinkIn(gURLBar.value, where);
    return true;
}
[/code]
GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
4楼#
发布于:2011-08-30 11:43
1moretime:貌似这个脚本在6.0下,地址栏输入URL不能在新标签页打开回到原帖

后面漏了两个函数。我去除一些不相关代码时,多去除了一些代码,LS 上的就是完整的。我上面的回帖,也改了一下了。
花非花
火狐狸
火狐狸
  • UID36925
  • 注册日期2011-08-06
  • 最后登录2013-06-28
  • 发帖数264
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
5楼#
发布于:2011-08-30 11:43
我用Tab Utilities  勾选“强制在新标签页打开所有链接”。这样可以。
不过有个缺点,安装扩展、下载软件会弹新建空白页,有点烦人,一直没能解决。
askto023
小狐狸
小狐狸
  • UID36610
  • 注册日期2011-06-28
  • 最后登录2011-09-06
  • 发帖数21
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
6楼#
发布于:2011-08-30 11:43
火狐太强大了
游客

返回顶部