簡體   English   中英

切換標簽的JavaScript

[英]Switching tabs JavaScript

因此,這很難解釋,但我會盡力而為。 我在網頁上添加了事件偵聽器,只需按一個鍵即可將您帶到某些頁面,並且它們工作正常。 我使用以下代碼:

if(e.keyCode === 65)
    window.location.replace('http://exampleurl.com/example');

這樣就可以了。 我嘗試使用以下新標簽打開它們:

if(e.keyCode === 65)
    window.open('http://exampleurl.com/example', '_newtab');

這也很好。 現在,我認為每次您嘗試訪問其中一個頁面時打開一個新選項卡肯定會很煩人。 如果要在一個選項卡中打開一個頁面,我想轉到該位置,按鍵訪問該頁面將簡單地切換到打開該選項卡的選項卡。這個:

if(e.keyCode === 65)
    window.open('http://exampleurl.com/example', '_newtab_home');

if(e.keyCode === 66)
    window.open('http://anotherexampleurl.com/example2', '_newtab_home');

即使您在另一個標簽中,也會在該標簽中打開新的URL。 但是它不會切換到該選項卡。 我認為這可行,因為當我說“ _newtab_home”時,它基本上是為該選項卡命名的,帶有該目標的所有內容都將在該選項卡中打開。 哪個很棒,我理解這一點,但是當它加載新的URL時,如何使它打開該選項卡? 我希望能夠為尚未訪問的位置打開一個新標簽,但是在您訪問它們並嘗試返回首頁(“ http://exampleurl.com/example ”)之后,我希望它切換回已經打開過的標簽頁。我知道有一種方法可以使用標簽頁號在JavaScript中切換標簽頁,如下所示:

var tabnum = 2;
$('ul.quicktabs_tabs li.tab' + tabnum + ' a').trigger('keyup');

但是我寧願不使用制表符編號來執行此操作,因為數字將始終不同,這取決於用戶單擊它們的順序,或者是否打開了任何制表符。 我真的不知道該怎么做。

我認為您可以通過按鍵在六個位置上訪問我的網站。 我希望每個位置都可以打開自己的標簽,並且每當您再次按下打開它的鍵時,我都想切換回該標簽。 這可以在JavScript中完成嗎? 如果是這樣,請幫幫我! 提前致謝。 (如果這個問題不清楚,我非常抱歉,請隨時發表評論並提出有關問題。)

沒有找到檢查窗口是否已打開的方法,但是有一種方法可以檢查打開窗口的選項卡是否已經打開了它們,其中存儲了您打開的選項卡的引用:

HTML:

<input type='button' id='button' value='Open' >

JS:

window.onload=function(){


    function launchApplication(l_url, l_windowName)
    {
      if ( typeof launchApplication.winrefs == 'undefined' )
      {
        launchApplication.winrefs = {};
      }
      if ( typeof launchApplication.winrefs[l_windowName] == 'undefined' || launchApplication.winrefs[l_windowName].closed )
      {

        launchApplication.winrefs[l_windowName] = window.open(l_url, l_windowName);
      } else {
        launchApplication.winrefs[l_windowName].focus()
      }
    }

    document.getElementById('button').addEventListener('click', function(){
        launchApplication('http://www.google.com', 'g')
    });

}

小提琴: http : //jsfiddle.net/zwnwskay/1/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM