“javascript:function()”是一个URL吗?

时间:2011-03-10 14:40:09

标签: javascript android webview android-webview

通过the WebView demo,我注意到以下声明:

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

它有效,但我不懂语法。为什么“javascript:function()”作为WebView.loadUrl()的URL参数?

5 个答案:

答案 0 :(得分:2)

是的,虽然在标准轨道上不是很远:http://tools.ietf.org/html/draft-hoehrmann-javascript-scheme-03

函数的返回值应该是要呈现的文档。

答案 1 :(得分:1)

<a href="javascript:alert('test')">link text</a>相同 您的浏览器知道这是javascript并启动命名函数。

答案 2 :(得分:1)

是的,它是一个网址,定义了一些javascript功能,可以在当前页面的全局范围内运行。

这是bookmarklets的工作方式

答案 3 :(得分:1)

如果你知道“重载”某些东西的概念,那就这么想吧。浏览器旨在检查您放在地址栏中的字符串(或作为href传递),如果它以字符串文字“javascript:”开头,它知道以javascript执行以下内容,而不是将其视为URL 。

答案 4 :(得分:0)

这称为Bookmarklet

以下是一些示例:http://www.bookmarklets.com/