function doit() {
alert(3);
// Statement 1
// chrome.tabs.create({url:"http://www.google.com"});
// Statement 2
// chrome.tabs.update({url:"http://en.wikipedia.org"});
alert(4);
}
chrome.browserAction.onClicked.addListener(doit);
Run Code Online (Sandbox Code Playgroud)
当脚本按原样运行时,我得到3和4的JS警报.好的.
当我在语句1中发表评论并运行脚本时,我得到一个3级的JS警报,然后Google在一个新的活动选项卡中打开,然后我得到一个4级的JS警报.正如预期的那样.
当我在语句1中注释掉语句1和注释时,我得到了一个3的JS警报,就是这样.
据http://code.google.com/chrome/extensions/tabs.html#method-update,我并不需要通过tabId对象,因为它"默认为当前窗口的选择选项卡." url对象被定义为"用于导航选项卡的URL",正如我在语句1中运行chrome.tabs.create时注意到的那样.
为什么我的chrome.tabs.update语句不起作用?
我了解到每个Xpath表达式也是一个有效的Xquery表达式.我正在使用Oxygen 16.1和这个示例XML:
<actors>
<actor filmcount="4" sex="m" id="15">Anderson, Jeff</actor>
<actor filmcount="9" sex="m" id="38">Bishop, Kevin</actor>
</actors>
Run Code Online (Sandbox Code Playgroud)
我的表达是:
//actor/@id
Run Code Online (Sandbox Code Playgroud)
当我使用Xpath 3.0在Oxygen中评估这个表达式时,我得到了我期望的结果:
15
38
Run Code Online (Sandbox Code Playgroud)
但是,当我使用Xquery 3.0(也是1.0)评估此表达式时,我收到消息:"您的查询返回一个空序列.
任何人都可以提供任何有关为什么这样做的见解,以及我如何编写等效的Xquery语句来获取上面的Xpath语句?