2012-11-02 57 views
1

我使用下面的腳本中添加的wmode =「不透明」嵌入元素:自動添加wmode =「opaque」首先嵌入jQuery?

jQuery("iframe[src], embed[src]").each(function() { 
    jQuery(this).prop("src", jQuery(this).prop("src") + "?wmode=opaque"); 
}); 

它工作正常,但在最後的嵌入SRC這樣的添加的wmode:

http://www.youtube.com/embed/example?fs=1&feature=oembed?wmode=opaque 

而這並不能使它工作。我想這是更準確,因此增加的wmode爲嵌入鏈接後的第一個屬性,這樣不管我怎麼過去的嵌入網址,例如:

http://www.youtube.com/embed/example?fs=1&feature=oembed 

腳本將使它像這樣:

http://www.youtube.com/embed/example?wmode=opaque?fs=1&feature=oembed 

有幫助嗎?

回答

1

我想你應該彌補這兩個變薄,因爲

http://www.youtube.com/embed/example?wmode=opaque?fs=1&feature=oembed 

也是錯誤的,只有第一個參數應該有一個?

所以,你可以嘗試:

jQuery("iframe[src], embed[src]").each(function() { 
    var url = jQuery(this).prop("src"); 
    if(url.search(/\?/) === -1) { 
      jQuery(this).prop("src", url + "?wmode=opaque"); 
    } else { 
      jQuery(this).prop("src", url + "&wmode=opaque"); 
    } 
}); 

只要你喜歡你的代碼要小一點,你可以用if代替if語句:

jQuery(this).prop("src", url + ((url.search(/\?/) === -1) ? url + "?wmode=opaque" : "&wmode=opaque")); 

此外,我建議你看一看Query string parameters(在我離開這裏的鏈接,或者通過搜索對谷歌)

編輯

我不明白你爲什麼需要它在開始時,我敢肯定,你只是不明白查詢參數如何工作。 但是,這裏是代碼:

jQuery("iframe[src], embed[src]").each(function() { 
    var url = jQuery(this).prop("src"); 
     if(url.search(/\?/) === -1) { 
      jQuery(this).prop("src", url + "?wmode=opaque"); 
     } else { 
      var splittedUrl = url.split("?"); 
      jQuery(this).prop("src", splittedUrl[0] + "?wmodeopaque&" + splittedUrl[1]); 
     } 
}); 
+0

感謝糾正代碼,我試圖谷歌,但什麼都沒有到現在爲止,我們可以使代碼搜索「?」並在其後添加「wmode = opaque&」? – user1564354

+0

編輯,你去了。 – NicoSantangelo

+0

感謝Nicosunshine :) – user1564354

相關問題