2009-06-07 102 views

回答

2

在另一個頁面中創建書籤,可能會遇到問題,該頁面從其他域抓取數據(使用Ajax加載到<div />)。

你最好的選擇可能是與內容的頁面的源代碼中插入一個IFrame。

如果你想這樣做,作爲一個非常基本的收藏夾,你可以做這樣的事情:

(function() { 

    var iFrame = document.createElement('IFRAME'); 

    iFrame.src = 'http://google.com'; 
    iFrame.style.cssText = 'display: block; position:absolute; ' 
         + 'top: 10%; left: 25%; width: 50%; height: 50%'; 

    document.body.insertBefore(iFrame, document.body.firstChild); 

})(); 

這裏是在書籤格式的相同代碼:

javascript: (function() { var iFrame = document.createElement('IFRAME'); iFrame.src = 'http://google.com'; iFrame.style.cssText = 'display: block; position:absolute; top: 10%; left: 25%; width: 50%; height: 50%'; document.body.insertBefore(iFrame, document.body.firstChild); })(); 

你也可以如果你想要一些漂亮的東西,這種風格更多。這只是一個可能的基本例子。正如另一個人所說,通過使用Ajax請求加載jQuery,使它變得更加容易是最容易的,但這有點多。

1

在你的書籤,直接做一個AJAX調用,然後你的DIV的innerHTML設置爲返回的內容。不知道這是否有安全限制。

編輯:你不想使用jQuery,因爲你不能輕易地從一個書籤加載javascript庫。 (雖然也許你可以通過AJAX得到它,然後它EVAL ...)

你需要做的經典XMLHttpRequest

一些more info here

+1

怎麼樣?我對Jquery沒有多少經驗。也將它能夠從另一臺服務器加載文件?即如果我在cnn.com上,我的書籤將能夠從example.com加載我的文件嗎? – chris 2009-06-07 03:47:27

0

我通過在我的服務器上生成一個php函數來解決域限制,該服務器在另一個域上輸出一個頁面。這樣,當我執行ajax.updater調用時,javascript認爲它處於相同的域中。

$ sSrcPage = $ _REQUEST ['SrcPage'];

echo file_get_contents($ sSrcPage,0);

相關問題