URI данных не работают на узлах <object>
или <embed>
. Вот почему GM_getResourceURL()
не будет работать для этого либо .
Кроме того, при использовании прямого метода <embed>
файл player.swf
должен находиться в том же домене, что видео или межсайтовая защита заблокирует загрузку видео. Этот конкретный блок может быть встроен в этот конкретный player.swf
.
Однако , при использовании функции jwplayer.setup ()
Longtailvideo (которую они рекомендуют в любом случае), проигрыватель, кажется, работает.
Вы должны использовать размещенную версию плеера, но, к счастью, она предоставляется по адресу http://player.longtailvideo.com/player.swf
.
Это даст ошибку NetworkError: 404 Not Found - http://someSite/crossdomain.xml
, но видео будет воспроизведено.
Вот пример сценария GM, который работает:
// ==UserScript==
// @name _Video embed fun
// @include http://YOUR_SITE/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js
// @require http://player.longtailvideo.com/jwplayer.js
// ==/UserScript==
//--- Find all hyperlinks to select video files.
var videoLinks = $("a[href$='.mpg'], a[href$='.mp4'], a[href$='.wmv']");
//--- For each video link, activate our video player.
videoLinks.each ( function (J) {
var jThis = $(this);
var vidURL = jThis.attr ('href');
var contID = 'myVidContainer_' + J;
jThis.after ('<div id="' + contID + '">Loading the player ...</div>');
jwplayer (contID).setup ( {
flashplayer: "http://player.longtailvideo.com/player.swf",
file: vidURL,
height: 344,
width: 480
} );
} );
Предупреждения:
Некоторые типы носителей (или этот проигрыватель) имеют встроенную дополнительную «защиту» XSS. Это означает, что, например, файлы .wmv
не будут работать, в то время как многие файлы .mp4
работают.
Видеофайл, по-видимому, должен находиться в том же домене для этого проигрывателя. Таким образом, целевая страница foo.com\somepage.htm
, содержащая видео foo.com\somevid.mp4
, будет (обычно) работать, но если видео будет cdn.foo.com\somevid.mp4
, оно не будет работать.
Единственный надежный способ использовать этот плеер, остаются следующие два варианта:
Напишите свой собственный аддон Firefox, который не имеет ограничений на исправление локальных файлов (player.swf
), междоменных, на страницу. Вы можете отключить код Greasemonkey или Scriptish.
У вашего GM-сценария есть AJAX-видео на вашем собственном сервере (это может быть ваша локальная машина с XAMPP и т. Д.). Затем указанный аппарат будет передавать видео и player.swf
обратно к вам, возможно, в <iframe>
.