javascript – 在Chrome上通过KBX扩展程序安装时,Kynetx应用程序无法运行
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 在Chrome上通过KBX扩展程序安装时,Kynetx应用程序无法运行,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2297字,纯文字阅读大概需要4分钟。
内容图文
我的应用程序正在使用jQuery.getScript()加载外部javascript文件.当我使用书签或扩展程序启动应用程序一切正常.当应用程序通过KBX安装时,虽然在Chrome内部使用KBX扩展,但javascript文件中包含的函数在回调中无法访问,我得到:未捕获的ReferenceError:myfunc未定义.
是否有任何技巧可以访问包含的功能?
Bookmarklet:javascript:(function(){var d = document; var s = d.createElement(‘script’); s.text =& quot; KOBJ_config = {‘rids’:[‘a1135x30’]};& “;; d.body.appendChild(s); var l = d.createElement(‘script’); l.src =’http://init.kobj.net/js/shared/kobj-static.js’; d.body.appendChild(升);})()
Chrome扩展程序: crx
通过KBX安装的URL: app on KBX
这是规则集:
ruleset a1135x30 {
meta {
name "test_external_js_loading"
description <<
debugging external loading in kbx
>>
author "loic devaux"
logging on
}
dispatch {
domain ".*"
}
global {
}
rule first_rule {
select when pageview ".*" setting ()
// pre { }
// notify("Hello World", "This is a sample rule.");
{
emit <|
$K.getScript('http\:\/\/lolo.asia/kynetx_debug/js/myfunc.js',function() {
myfunc();
/*
* myfunc.js content:
myfunc = function(){
console.log('running myfunc');
};
*/
}
);
|>
}
}
}
解决方法:
我不完全确定您的问题与KBX运行代码的沙盒环境有关,但我认为可能.这是我写的关于处理KBX http://geek.michaelgrace.org/2011/03/kynetxs-new-sandboxed-browser-extensions/的沙盒环境的帖子
来自博客文章
我最近在Kynetx应用程序商店中发布了我的“Old School Retweet” Kynetx app,用于新发布的浏览器扩展.我非常喜欢新的扩展以及他们为用户和开发人员所做的一切.我在应用程序商店中发布应用程序时忘记的一点是新扩展程序是沙箱.
由于扩展是沙盒化的,因此扩展中的所有脚本的运行方式与以前的Kynetx扩展中的运行方式略有不同.在没有深入了解技术细节的情况下,之前的扩展只是将JavaScript注入到页面中,新扩展在沙箱中运行JavaScript,沙盒可以访问DOM,但无法访问页面上的任何其他内容.由于这个改变,我的转发应用程序破了,因为我使用Twitter.com加载的jQuery来调出新的推文框(我这样做是因为Twitter.com使用该库来绑定点击事件并触发它必须的事件来自绑定它的同一个库).值得庆幸的是,在朋友的帮助下,我能够解决Firefox和Chrome的沙盒环境问题.
我是怎么做到的……
如果应用程序不在沙盒中运行,我可以访问Twitter.com加载的jQuery以打开一个新的推文框
$("#new-tweet").trigger("click");
在Firefox沙箱中,我可以访问沙箱外的页面
window['$']("#new-tweet").trigger("click");
如果我在Chrome沙箱中,我可以创建一个包含我想要执行的JavaScript的脚本元素.原油,但它的工作原理.
内容总结
以上是互联网集市为您收集整理的javascript – 在Chrome上通过KBX扩展程序安装时,Kynetx应用程序无法运行全部内容,希望文章能够帮你解决javascript – 在Chrome上通过KBX扩展程序安装时,Kynetx应用程序无法运行所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。