Google Virtual Keyboard как букмарклет - PullRequest
0 голосов
/ 20 декабря 2011

Я пытался использовать виртуальную клавиатуру Google в качестве букмарклета, используя этот 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]);}

1 Ответ

1 голос
/ 20 декабря 2011

Вы пытались добавить void(0) в конец вашего кода?

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

... если вы когда-либо использовали оператор JavaScript в качестве URLкоторый возвращает значение, браузер попытается загрузить страницу.Чтобы предотвратить это нежелательное действие, вам нужно использовать функцию void для такого оператора, которая всегда будет возвращать ноль и никогда не загружать новую страницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...