Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cross browser 使用Crossrider的跨浏览器扩展_Cross Browser_Crossrider - Fatal编程技术网

Cross browser 使用Crossrider的跨浏览器扩展

Cross browser 使用Crossrider的跨浏览器扩展,cross-browser,crossrider,Cross Browser,Crossrider,我正在尝试使用Crossrider创建一个跨浏览器扩展,它将能够管理浏览器书签,监视打开的浏览器选项卡/窗口,并在用户请求时[当用户单击按钮]将它们保存到远程服务器,等等。我可以使用“appAPI.browserAction.setPopup()”方法创建弹出窗口或使用“侧栏”用于显示打开的浏览器选项卡/窗口的插件 Q-1.使用其中一种方法的优点/缺点是什么? Q-2.还有其他方法吗? Q-3.如何监视和显示打开的浏览器选项卡/窗口 另外,我想使用远程服务器[我网站的服务器]托管“图像、Java

我正在尝试使用Crossrider创建一个跨浏览器扩展,它将能够管理浏览器书签,监视打开的浏览器选项卡/窗口,并在用户请求时[当用户单击按钮]将它们保存到远程服务器,等等。我可以使用“appAPI.browserAction.setPopup()”方法创建弹出窗口或使用“侧栏”用于显示打开的浏览器选项卡/窗口的插件

Q-1.使用其中一种方法的优点/缺点是什么? Q-2.还有其他方法吗? Q-3.如何监视和显示打开的浏览器选项卡/窗口

另外,我想使用远程服务器[我网站的服务器]托管“图像、JavaScript和CSS”文件,这样扩展的“外观”和“功能”就可以不断更新,而无需用户不断重新安装扩展,也无需增加扩展的大小。我知道我可以使用“Resources”文件夹来处理“Images、JavaScript和CSS”,但我更喜欢上面的开发方法


Q-4。使用扩展名中远程托管文件的最佳方式是什么?

A-1。通常,每次单击扩展名按钮时都会重新创建按钮的内容,而侧边栏的内容仍然存在。因此,在这种情况下,我认为您希望此信息易于访问,因此使用

A-2.这些方法封装了这类内容的两种通用方法的核心概念,即嵌入按钮弹出窗口或HTML页面(即侧边栏)。当然,对于如何在页面中显示内容,有各种各样的解决方案;-)

A-3。您可以监视正在使用创建的选项卡,并使用回调函数执行所需的任何任务。但是,请记住,由于浏览器的限制,该方法仅检测在当前浏览器实例中创建的新选项卡

A-4.这个问题在不了解更多伸展部位解剖结构的情况下回答起来有点棘手。我假设您希望将此内容注入页面或在扩展中使用JS。因此,根据使用jQuery的范围,可以包括远程文件,如下所示:

在extension.js文件中:


免责声明:我是一名Crossrider员工。

a-1。通常,每次单击扩展按钮时都会重新创建按钮的内容,而侧边栏的内容仍然存在。因此,在这种情况下,我认为您希望此信息易于访问,因此使用

A-2.这些方法封装了这类内容的两种通用方法的核心概念,即嵌入按钮弹出窗口或HTML页面(即侧边栏)。当然,对于如何在页面中显示内容,有各种各样的解决方案;-)

A-3。您可以监视正在使用创建的选项卡,并使用回调函数执行所需的任何任务。但是,请记住,由于浏览器的限制,该方法仅检测在当前浏览器实例中创建的新选项卡

A-4.这个问题在不了解更多伸展部位解剖结构的情况下回答起来有点棘手。我假设您希望将此内容注入页面或在扩展中使用JS。因此,根据使用jQuery的范围,可以包括远程文件,如下所示:

在extension.js文件中:

免责声明:我是一名Crossrider员工

appAPI.ready(function($) {
  // Includes remote JS file into extension.js scope
  appAPI.resources.includeRemoteJS('http://example.com/file.js');

  // Injects remote JS file into HTML page
  appAPI.dom.addRemoteJS('http://example.com/file.js');

  // Injects remote CSS file into HTML page
  appAPI.dom.addRemoteCSS('http://example.com/file.css');

  // Injects remote image file into HTML page
  $('<img src="http://example.com/file.png">').appendTo('body');
});
appAPI.ready(function() {
  var remoteJS = appAPI.resources.get('http://example.com/file.js');
  eval(remoteJS);
});