2013-07-25 56 views
1

我真的希望有人可以點我在這個正確的方向提前打開的所有網址,SP感謝:)的Javascript window.open函數的JSON提要

我需要採取什麼樣的進來一個JSON飼料,並使用一些JavaScript來採取嵌入式鏈接 - 我得到然後通過document.getElementsByTagName - 並將它們轉換成一個window.open函數。

到目前爲止與

var links = document.getElementsByTagName('a'); 
var len = links.length; 

for(var i=0; i<len; i++) 
{ 
    links[i].target = "_blank"; 
} 

這我有增加了一個位置在我的網址,但實際上我真正需要做的是採取所有URL A HREF刺狀

<a href="http://myurl.com"</a> 

和返回他們在普通的JavaScript調用一個函數

window.open('http://myurl.com', '_blank', 'location=yes'); 

希望是有道理的,並感謝一些newbi e幫助。 阿利斯特

多一點...

Karaxuna - 感謝您的建議。儘管由於某種原因循環函數沒有返回我所需要的,但這可能是因爲我試圖使用它。

我實際上是想爲Phonegap爲手機瀏覽器調用工作,使用inappbrowser函數爲我的所有鏈接打開,以便它們在應用程序webview中打開,而不是在系統瀏覽器中打開。爲此,我所有的鏈接都需要通過函數 window.open('http://myurl.com','_blank','location = yes');

我使用煎茶觸摸創建一個列表項抽頭,它需要的內容從一個JSON飼料和我的代碼看起來像

onMylistItemTap: function(dataview, index, target, record, e, eOpts) { 
    dataview.up().push({ 
     xtype: 'panel', 
     html: [ 
     "<div class='news_story'>" + 
     " <h4>" + record.get('title') + "</h4>" + 
     " <img src='" + record.get('mobile_url') + "' />" + 
     " <span>" + record.get('content') + "</span>" + 
     "</div>" 
     ], 
     id: 'NewsDetailCard', 
     scrollable: { 
      direction: 'vertical', 
      directionLock: true 
     } 
    }); 
    var links = document.getElementsByTagName('a'); 
    var len = links.length; 

    for(var i=0; i<len; i++) 
    { 
     links[i].addEventListener('click', function(){ 
      window.open(this.href, '_blank', 'location=yes'); 
      return false; 
     }); 
    } 

}, 

但是,我沒有收到打開鏈接與點擊功能你」我補充說。不知道有什麼問題。 阿利斯特

+0

作爲一般的話 - 我想大多數的瀏覽器應該(和會)開幕防止過多的新窗口從JavaScript中循環。您應該也可以關注該行爲,以及它是否會影響您打開窗口的次數。 –

+0

是否有任何js錯誤? – karaxuna

+0

剛剛刪除我以前的評論!對不起,我從來沒有注意到你的更新(新的到stackoverflow!)。完美工作THANKYOU! – Allister

回答

1
for(var i=0; i<len; i++) 
{ 
    links[i].addEventListener('click', function(e){ 
     window.open(this.href, '_blank', 'location=yes'); 
     e.preventDefault(); 
    }); 
} 
+0

更新了以下的問題 – Allister

+0

@Allister嘗試更新的答案 – karaxuna