0

我刚刚开始研究 crossrider 来开发浏览器扩展。这个概念给我留下了深刻的印象,但它可以在证明和示例中提供更多帮助。

我的具体问题是我希望 extension.js 文件能够识别和处理加载页面上的特定 DOM 事件,即 onblur 事件

在普通的内联 javascript 中,我会使用 $(":input").on("blur", function(e){ // do stuff });

但我完全不知道如何/在哪里将此代码放在 exension.js 文件中。我在 appAPI.ready 函数内部和外部都进行了尝试,但这些似乎都不会触发加载页面上的任何内容

我知道我可以强制包含一个包含我的代码的远程 JS 文件,但这意味着我将无法访问 appAPI 函数,并且我将不得不使用消息传递 API 在网页和扩展程序之间传递信息。这种方法看起来很乱

尝试使用获取扩展名绑定到网页上的 onblur 事件时,我哪里出错了?

提前致谢

4

1 回答 1

1

一般来说,就像您提到的,在extension.js文件中的appAPI.ready方法的回调函数中添加 jQuery 代码一样简单。我在 Win7/Chrome 上使用以下代码测试了您的示例:

appAPI.ready(function($) {
  $(":input").on("blur", function(e){ console.log(':input blur'); });
});

如果这对您不起作用,我建议您打开 Crossrider 支持票 (support@crossrider.com) 并指定扩展 ID,我们将很乐意为您进行调查。

jQuery 示例

免责声明:我是 Crossrider 的员工。

于 2013-09-10T08:48:17.127 回答