我增加了一個YouTube視頻在我的站點(如<iframe width="640" height="360" src="https://www.youtube.com/embed/QE5KOfjKLy0" frameborder="0" allowfullscreen></iframe>
)Firefox和Chrome瀏覽器 - 不同的行爲IFRAME
而使用Firefox擴展,我可以取得YouTube的鏈接嵌入視頻當我點擊視頻的標題或「youtube按鈕」(請參見下面的屏幕截圖)。
我不知道爲什麼,但它的作品,我可以看到視頻的網址中的「瀏覽器控制檯」(Ctrl + Shift + J爲Firefox)。
但鉻瀏覽器有不同的行爲,它只適用於當前頁面上的簡單網址(<a href="...">...</a>
),而不是來自iframe
的網址。
如果Chrome可以做到這一點,那將會很棒。
有人知道爲什麼Firefox和Chrome會有所不同嗎?
下面內容的腳本(Firefox和鉻):
(function (undefined) {
'use strict';
var YoutubeExtActions = {
linkClickListener : function(e) {
if(e.button === 1) {
var link = $(e.target).closest('a');
if(link.length && link.attr('href') !== '#') {
var url = link[0].href;
if(url.match(/youtube.com\/watch/i) || url.match(/youtube.com\/embed/i)) {
e.preventDefault();
e.stopPropagation();
console.log("you got it: " + url);
}
}
}
}
}
window.addEventListener("click",YoutubeExtActions.linkClickListener,false);
})();
那JS在Chrome僅適用於普通的鏈接(而不是從I幀)
manifest.json的:
{
"content_scripts": [ {
"js": [ "jquery-1.11.3.min.js", "content_script.js" ],
"matches": [ "<all_urls>" ],
"run_at": "document_idle"
} ],
"description": "chromium youtube iframe get url",
"manifest_version": 2,
"name": "chromium youtube iframe get url",
"version": "1.0"
}