我正在使用Crossrider框架为浏览器开发扩展.我正在使用这条线
appAPI.resources.includeJS('js/angular.min.js');
Run Code Online (Sandbox Code Playgroud)
将angular.js注入扩展名.这在Chrome上工作正常,但在IE 11上我收到错误
---- JS Exception from: IE test staging ----
Error: Object expected
Source: Microsoft JScript runtime error
Location: resources
Line: 131
Run Code Online (Sandbox Code Playgroud)
我环顾四周,发现了一些答案,表明jQuery可能会丢失,或者代码本身可能有一个尾随逗号.但是,我正在使用
var jq = document.createElement('script');
jq.src = "http://code.jquery.com/jquery-1.11.3.js";
document.getElementsByTagName('body')[0].appendChild(jq);
Run Code Online (Sandbox Code Playgroud)
将jquery注入到文档中,这应该不是问题.至于JS中有一个尾随逗号的可能性,我从AngularJS的缩小版本变为非透明版本,但仍然得到了同样的错误,这让我觉得错误中的行号没有意义.如果这是关心,或忘记,无论是什么情况.有人可以告诉我发生了什么以及如何解决它?
PS.我的环境是在Ubuntu 14.04 LTS x64位计算机上的VMWare Workstation 12上的Windows 7 Ultimate 32位
与竞争对手相比,我已经阅读了很多使用CrossRider的积极见解,但我没有阅读任何与其任何限制相关的内容(功能,速度,与第三方服务的集成等).
我已经开始使用Crossrider编写扩展,并且非常喜欢它.但我读过一些关于他们是浏览器劫持者的负面消息 - 特别是search.crossrider.com
我不确定search.crossrider.com是否是使用Crossrider或Crossrider本身构建的恶意扩展.在其他地方,这是一个建议你删除它的链接. http://forums.anvisoft.com/viewtopic-45-1190-0.html
在我继续开发之前,我想我会问专家.
任何评论,感激不尽.
谢谢
我有一个使用CrossRider API开发的浏览器扩展.
当我从Chrome安装它时,我收到以下错误:
混合内容:xxxxxxx.com上的页面通过https加载,但请求不安全的XMLHttpRequest端点 http://resources.crossrider.com/system/resources/apps/68868/959532?ver=19.此请求已被阻止; 内容应通过https提供.
为什么crossrider在HTTP而不是HTTPS上请求资源.我需要在任何地方设置任何标志吗?
更重要的是,为什么crossrider会向此网址发出请求?
这意味着,我的浏览器插件可以启动并运行crossrider服务器.如果我的插件有很多用户,它会对我的插件可用性产生任何影响吗?
如果需要该JS文件,是否可以在我们的服务器上托管该文件?
我们真的不想依赖CrossRider服务器.
[更新]:我正在附上错误的屏幕截图.
我需要在扩展中使用时间来计算浏览器.如果我可以检查浏览器是否处于活动状态,那么很容易计算时间.这怎么可能在交叉驾驶者?
var focused = true;
window.onfocus = window.onblur = function(e) {
focused = (e || event).type === "focus";
}
alert(focused);
Run Code Online (Sandbox Code Playgroud)
我在background.js中尝试了这个代码,但即使我最小化浏览器窗口,它总是显示"true".
我必须在扩展.js代码中使用浏览器的localStorage变量.交叉浏览器扩展的代码如何访问crossrider extenson代码中的localStorage变量,比如我想使用localStorae.setItem("foo","demo")如何在扩展中访问foo变量码
如何在Crossrider扩展中编写弹出式HTML?
是什么触发它以及如何添加图像,例如,如果您想在弹出窗口中显示带有某些文本的徽标,您extension.js是否会离开,因为您将在弹出HTML中编写所有代码?
我在这里很困惑.
我使用Crossrider构建了我的扩展,目前我的所有代码都在extension.js文件中.但是,它在这个单片文件中变得越来越难以维护.有没有办法将我的代码拆分成单独的文件,仍然在我的扩展中使用它们?
因此,例如,如果我的extension.js文件的结构类似于以下示例,我希望函数f1和f2位于我可以加载到扩展中的单独文件中:
appAPI.ready(function($) {
init();
f1();
f2();
...
function init() {
// init code
...
}
function f1() {
//hundreds of lines of code
}
function f2() {
//hundreds of lines of code
}
...
});
Run Code Online (Sandbox Code Playgroud) javascript cross-browser include browser-extension crossrider
在crossrider中,我在后台代码中有一个函数
function buttonClick() {
alert(2);
// simulates similar behavior as an HTTP redirect
var url = "http://12bubbles.com";
window.location.replace(url);
}
Run Code Online (Sandbox Code Playgroud)
安装扩展后,当调用buttonClicked()时,会alert()弹出,但重定向不起作用.我的代码有问题吗?
我想使用crossrider移植我的chrome扩展程序.我还想维护不同的扩展名js文件而不是一个巨大的extension.js文件.
我假设我可以将扩展名js文件添加为"资源".
那是对的吗?
是否可以在extension.js中自动访问添加到资源文件的js函数,还是需要澄清路径?
或者是否有一个我可以访问和修改的清单文件让crossrider知道我有多个扩展页面?
谢谢!
我正在使用crossrider开发浏览器扩展.我添加了一个上下文菜单(background.js)
var ContextData;
appAPI.contextMenu.add("key1", "Send Data To Server", function (data) {
var ContextData = 'pageUrl: ' + data.pageUrl + '\r\n' +
'linkUrl: ' + data.linkUrl + '\r\n' +
'selectedText:' + data.selectedText + '\r\n' +
'srcUrl:' + data.srcUrl;
}, ["all"]);
Run Code Online (Sandbox Code Playgroud)
在用户点击我要发送ContextData到extension.js.at extension.js时,某些功能将接收数据并将其发送到我的服务器(将接受数据的Rest API).
要将数据发送到服务器,我已对此进行了测试,并且工作正常(extension.js中的代码示例)
appAPI.ready(function($) {
var dataToSend =="test data";
appAPI.request.post({
url: 'REST API URL',
postData: dataToSend,
onSuccess: function(response, additionalInfo) {
var details = {};
details.response = response;
},
onFailure: function(httpCode) {
// alert('POST:: Request failed. HTTP …Run Code Online (Sandbox Code Playgroud)