2011-12-19 82 views
0

我一直在嘗試使用此API http://code.google.com/apis/language/virtualkeyboard/v1/getting_started.html谷歌虛擬鍵盤作爲書籤

使用谷歌的虛擬鍵盤作爲一個書籤,但每當我點擊它,它重新加載頁面!

這是我的代碼:

(function(){document.body.appendChild(document.createElement('script')).src='https://www.google.com/jsapi?key=my-key';})(); 

google.load("elements", "1", {packages: "keyboard"}); 

function onLoad() {var kbd = new google.elements.keyboard.Keyboard([google.elements.keyboard.LayoutCode.RUSSIAN]);} 


google.setOnLoadCallback(onLoad); 

更新: 我已經得到了解決。最後,它實際上重新加載,因爲:

google.load("elements", "1", {packages: "keyboard"}); 

這樣你就可以取代這個:

google.load("elements", "1", {packages: "keyboard", callback: runKeyboard}); 
function runKeyboard() {var kbd = new google.elements.keyboard.Keyboard([google.elements.keyboard.LayoutCode.RUSSIAN]);} 
+0

什麼是實際的書籤代碼?如果這只是你粘貼到這個問題上,那是行不通的。使用[書籤生成器](http://ted.mielczarek.org/code/mozilla/bookmarklet.html)。 – 2011-12-19 21:51:36

+0

我這樣做的目的是看代碼,它不會按照你的建議工作:) – 2011-12-19 22:16:12

回答

1

你有沒有嘗試添加void(0)到您的代碼的結束?

http://www.tizag.com/javascriptT/javascriptvoid.php

...如果你確實要使用JavaScript語句作爲一個返回值的URL,瀏覽器會試圖加載頁面。爲了防止這種不需要的操作,您需要在這樣的語句上使用void函數,該函數將始終返回null並且永不加載新頁面。