2011-12-19 80 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并且永不加载新页面。