2011-11-30 25 views
2

我試圖找到一種方法來創建一個書籤,它將加載(從外部文件)一個新的層/ div與其他HTML和CSS並將其覆蓋在現有頁面上。如何創建書籤從外部文件覆蓋HTML/div層和CSS

有沒有人有一個書籤的例子,他們可以共享嗎?

我可以用新的html內容和CSS類創建div我只是不確定如何編寫bookmarklet和javascript/jquery函數來在現有頁面上加載新內容。

非常感謝!

+0

你有什麼,你已經嘗試過? – Kyle

+0

我一直在看一些我可以學習的代碼,但我的JS是非常基本的,我不知道如何去做。我找不到任何例子,所以我問了SO社區。我可以處理的HTML部分,它設置了一個小書籤來調用外部文件,該文件承載了我不知道該怎麼做的HTML。 – user895635

+0

我並不想成爲垃圾郵件,但我寫了一個[bookmarklet生成器](http://zbooks.zzzzbov.com/),而後者將使用jQuery執行鏈接的腳本文件。如果您願意,可以[查看源代碼](http://zbooks.zzzzbov.com/assets/js/zbooks-1.2.js)。 – zzzzBov

回答

2

嘗試此代碼,顯然它可以改進,但它的工作原理。您必須將其縮小並確保在將其粘貼到瀏覽器地址欄中之前添加「javascript:」。

javascript : (function (e, a, g, h, f, c, b, d) { 
    if (!(f = e.jQuery) || g > f.fn.jquery || h(f)) { 
     c = a.createElement("script"); 
     c.type = "text/javascript"; 
     c.src = "http://ajax.googleapis.com/ajax/libs/jquery/" + g + "/jquery.min.js"; 
     c.onload = c.onreadystatechange = function() { 
      if (!b && (!(d = this.readyState) || d == "loaded" || d == "complete")) { 
       h((f = e.jQuery).noConflict(1), b = 1); 
       f(c).remove() 
      } 
     }; 
     a.documentElement.childNodes[0].appendChild(c) 
    } 
})(window, document, "1.3.2", function ($, L) { 

    //your code here (a div with some content) 
    $("<div style='width:500px;height:400px; border:5px solid black; background-color:white; box-shadow:10px 10px 10px black; position:fixed; top: 150px; left:150px; z-index:99999'><h1 style='margin:150px'>hello world</h1></div>").appendTo("body"); 
}); 

編輯:

這裏是使用嵌入在iframe外部文檔相同的代碼:

javascript:(function(e,a,g,h,f,c,b,d){if(!(f=e.jQuery)||g>f.fn.jquery||h(f)){c=a.createElement("script");c.type="text/javascript";c.src="http://ajax.googleapis.com/ajax/libs/jquery/"+g+"/jquery.min.js";c.onload=c.onreadystatechange=function(){if(!b&&(!(d=this.readyState)||d=="loaded"||d=="complete")){h((f=e.jQuery).noConflict(1),b=1);f(c).remove()}};a.documentElement.childNodes[0].appendChild(c)}})(window,document,"1.3.2",function($,L){$("<div style='width:500px;height:400px; border:5px solid black; background-color:white; box-shadow:10px 10px 10px black; position:fixed; top: 150px; left:150px; z-index:99999'><iframe style='width:100%; height:100%;' src='http://www.htmlcodetutorial.com/frames/hello.html'></iframe></div>").appendTo("body");}); 
+0

哇!它的作品...謝謝你阿爾瓦羅!我怎樣才能調用外部html文件,而不是在內容div的硬編碼? - 雖然這很好。非常感謝! – user895635

+0

你能幫助解決外部html文件的問題,而不是阿爾瓦羅小書籤中的div/css嗎?那麼這將是完美的答案!非常感謝。 – user895635

+0

使用iframe,我在上面添加了一個例子:-) –