我正在嘗試創建一個書籤,以便當您點擊它時,它將在div框中加載example.com/yourdata.php。如何獲取JavaScript來加載另一個HTML文件?
如何讓它從example.com獲取數據?
IFRAME?還是有更好的解決方案?
我正在嘗試創建一個書籤,以便當您點擊它時,它將在div框中加載example.com/yourdata.php。如何獲取JavaScript來加載另一個HTML文件?
如何讓它從example.com獲取數據?
IFRAME?還是有更好的解決方案?
在另一個頁面中創建書籤,可能會遇到問題,該頁面從其他域抓取數據(使用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,使它變得更加容易是最容易的,但這有點多。
在你的書籤,直接做一個AJAX調用,然後你的DIV的innerHTML設置爲返回的內容。不知道這是否有安全限制。
編輯:你不想使用jQuery,因爲你不能輕易地從一個書籤加載javascript庫。 (雖然也許你可以通過AJAX得到它,然後它EVAL ...)
你需要做的經典XMLHttpRequest。
隨着The Dojo Toolkit可以使用dijit.layout.ContentPane或dojox.layout.ContentPane做你在一個單一的div想要什麼。
dijit.layout.ContentPane和dojox.layout.ContentPane之間的區別在於,您可以在dojox.layout.ContentPane中運行內嵌JavaScript。
我通過在我的服務器上生成一個php函數來解決域限制,該服務器在另一個域上輸出一個頁面。這樣,當我執行ajax.updater調用時,javascript認爲它處於相同的域中。
$ sSrcPage = $ _REQUEST ['SrcPage'];
echo file_get_contents($ sSrcPage,0);
怎麼樣?我對Jquery沒有多少經驗。也將它能夠從另一臺服務器加載文件?即如果我在cnn.com上,我的書籤將能夠從example.com加載我的文件嗎? – chris 2009-06-07 03:47:27