Является ли "javascript: function ()" URL-адресом? - PullRequest
3 голосов
/ 10 марта 2011

Проходя через демонстрацию WebView , я заметил следующее утверждение:

  mWebView.loadUrl("javascript:wave()");

Это работает, но я не понимаю синтаксис. Почему «javascript: function ()» работает как параметр URL для WebView.loadUrl ()?

Ответы [ 5 ]

2 голосов
/ 10 марта 2011

Да, хотя и не очень далеко от стандартной дорожки: http://tools.ietf.org/html/draft-hoehrmann-javascript-scheme-03

Возвращаемое значение функции должно быть документом, который должен быть представлен.

1 голос
/ 10 марта 2011

если вы знаете понятие «перегрузки» чего-либо, подумайте об этом таким образом. Браузер предназначен для проверки строки, которую вы помещаете в адресную строку (или передаете как href), и если он начинается со строкового литерала "javascript:", он знает, что должен выполнять то, что следует как javascript, а не обрабатывать его как URL ,

1 голос
/ 10 марта 2011

Да, это URL, который определяет некоторые функциональные возможности javascript, которые должны быть запущены в глобальной области видимости текущей страницы.

Так работает букмарклет

1 голос
/ 10 марта 2011

Это то же самое, что и <a href="javascript:alert('test')">link text</a> Ваш браузер знает, что это javascript и запускает именованную функцию.

0 голосов
/ 10 марта 2011

Это называется Bookmarklet .

Вот несколько примеров: http://www.bookmarklets.com/

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