2010-07-23 80 views
1

我需要創建一個JScript,做以下操作:的Javascript:從外部網頁源再抓鏈接放置在指定位置

1抓鬥從外部網頁的源代碼的鏈接

2-從鏈接中刪除不必要的字符串,如果需要的話,在所指定的條目

現在解釋鏈接

3-地點:

我有一個在另一個網站上託管的視頻,我想讓它在我自己的視頻中播放,問題是該視頻的鏈接在12/24小時後發生變化,我必須始終更新視頻。

提供該文件的網頁具有永久URL,因此具有該文件的頁面的鏈接永遠不會更改,但鏈接指向視頻。

我需要一個可以從指定的網頁恢復更新的鏈接,並將其放置在src領域內的JScript,像一個源代碼履帶,直到它找到匹配的視頻名稱,像這樣:

的視頻被稱爲video.mp4,它擁有百達後,相同的字符串(例如:&下載= YES)

在字符串匹配「video.mp4 &下載= YES」,它將檢索的完整路徑該文件從「...」到「... video.mp4」,忽略了& download = yes,因爲玩家不能使用包含的最後一個字符串。

完成之後,它會將鏈接放置在特定的「src =」字段中,以便可以在視頻播放器中播放。

此外,在此先感謝您花費的時間,如果可能的話,儘量讓我很容易理解,因爲我是新來的Jcript。

+1

這不能直JS來完成,因爲JS不能訪問跨多個域東西。您需要使用服務器端語言來獲取您定位的頁面的源代碼。你使用什麼服務器端語言? – 2010-07-23 13:58:05

+2

這聽起來像您使用的託管服務不會讓您嵌入視頻,並已採取措施阻止您這樣做......並且您正試圖繞過這些步驟。不要這樣做。 – Quentin 2010-07-23 13:59:12

+0

@列維 即時通訊目前使用免費博客(Blogger.com),所以我不知道它使用什麼樣的語言。 @大衛 它不會讓嵌入視頻,但它僅允許.WMV視頻或.jpg圖像,其它分機將有鏈接僅改變了保護,因爲我做的視頻不是.wmv格式,我不能轉換他們來到這裏尋求解決辦法。 – Mike 2010-07-23 14:05:31

回答

0

只有在視頻頁面與您的網站位於同一個域名的情況下,才能使用JavaScript(儘管您可能會使用一些tricks來實現此目的)。正如我所看到的,最好的方法是做一些服務器端腳本來下載頁面(這將僅用於文本,因此您不會使用很多帶寬),並且可以使用任何HTML lib進行一些DOM操作你的服務器語言。

+0

如果網頁插入到我的網頁中的iframe中,是否可能? – Mike 2010-07-23 14:18:08

+0

這取決於,如果你只是通過iframe中嵌入視頻,是的,但你將無法訪問(因爲同源策略的)框架的DOM,所以你不會是在頁面內容能看。 – xj9 2010-07-23 17:22:52

1

由於所有的評論都說這不能用簡單的JavaScript來完成,但是你可以使用YQL來查詢頁面並以JSNOP的形式取回結果。

YQL是由雅虎爲您掃描一面的服務。你也可以通過javascript文件來查詢xpath的結果html。所有這些都將由雅虎在其服務器上完成。最後,您可以將結果作爲JSONP導入到您的網頁中。

所以這是在YQL控制檯查詢到雅虎財經側的特定鏈路類型的example

http://developer.yahoo.com/yql/console/#h=select%20 *%20from%20html%20where%20url%3D%22http%3A // finance.yahoo。com/q%3Fs%3Dyhoo%22%20and%20xpath%3D%27 // div%5B @ id%3D%22yfi_headlines%22%5D/div%5B2%5D/ul/li/a%27

該查詢會給你一個jsonp字符串:

http://developer.yahoo.com/yql/console/#h=select%20 *%20from%20html%20where%20url%3D%22http%3A // finance.yahoo.com/q%3Fs%3Dyhoo%22%20and%20xpath%3D %27 // div%5B @ id%3D%22yfi_headlines%22%5D/div%5B2%5D/ul/li/a%27

在您身邊,您必須創建一個新腳本並將其插入您的DOM。正如你可以在結果jsonp中看到的那樣,它將使用json作爲參數調用函數「cbfunc」。您只需要在你身邊功能「cbfunc」來處理JSON

+0

對不起,但即時遇到麻煩,我瞭解這個概念,但我不能讓它發生,我不明白如何處理查詢以及如何導入使用jsonp。 – Mike 2010-07-23 14:44:18

+0

我已經更新了答案,希望它會更清楚。 – 2010-07-23 15:01:24

+0

它越來越好,但是當談到這些事情我真的是一個「菜鳥」,我不是得到的鏈接,我的意思是我不知道如何使YQL調用鏈接,我當然不知道如何在我的DOM創建腳本(不知道如果我甚至有DOM,使用免費的Blogger博客,IM) – Mike 2010-07-23 15:15:46