2011-01-21 84 views
3

我們都知道,小書籤都不過是一些 可執行JavaScript代碼,做一些事情對我們 當我們點擊其中取決於他們 有盡而意...我的問題在功能上是:如何「反編譯」Bookmarklet?

對於例如,我有一個書籤,不知道,這樣的事情之一:

javascript:void(window.open('http://www.pdfdownload.org/web2pdf/Default.aspx?left=0&right=0&top=0&bottom=0&page=0&cURL='+document.location.href)); 

據我瞭解,小書籤代碼(與「&捲曲=」的東西)採用那就是在網址瀏覽器的地址欄,然後用它做點什麼來獲得結果。通過改變小書籤中的一些參數(類似於「Google地圖中的搜索選擇」之一)和其他一些參數,可以做出類似的選擇。

如何「反編譯」書籤以使其從表單中獲取所需的數據(本例中爲URL)?

例如,假設我想在網頁中使用上面的小書籤來提供一個表單,讓用戶輸入一個URL,然後單擊一個按鈕以獲取結果。

我見過獲得由該URL等小書籤「?輸入=」和其他人從一個「?URL =」

我怎樣才能通過書籤的功能,以一種形式?

+0

你想手動解構書籤,還是自動生成表單? – outis 2011-01-22 12:14:02

回答

0

在小書籤中,它實際上最容易使用prompt('Please enter a URL', 'default value')而不是變量。在當前網頁中顯示錶單相當麻煩。

如果您只需要一個用戶輸入的值,prompt()是一個易於使用的替代方法,可以向用戶詢問更多信息。 (當然你也可以使用多個prompt()電話了,但是這可能會導致混淆用戶)

+0

@BalusC:感謝您的快速回答,那麼,如何將「提示」應用於上面的小書籤?如果小書籤使用「?input =」或「?url =」,提示符將如何工作?我如何設法將它集成到這些書籤? – Jmlevick 2011-01-21 23:41:06

0

嘗試是這樣的:

<form method="get" action="http://www.pdfdownload.org/web2pdf/Default.aspx"> 
<input type="hidden" name="left" value="0"> 
<input type="hidden" name="right" value="0"> 
<input type="hidden" name="top" value="0"> 
<input type="hidden" name="bottom" value="0"> 
<input type="hidden" name="page" value="0"> 
<input type="text" name="cURL"> 
<input type="submit"> 
</form> 
0

也許你可以調用JavaScript文件在您的書籤:

javascript:void((function(){var%20e=document.createElement('script');e.setAttribute('type','text/javascript');e.setAttribute('src','http://www.example.com/js.js');document.body.appendChild(e)})()) 

你創建js.js

var site = location.href; 
document.body.innerHTML += "<div style='background-color:white;z-index:1000;position:fixed;right:0;top:0' width='300' height='250'><iframe src='http://www.example.com/bookmarklet.php?q=" + site + "' /></div>"; 
一個iframe