【问题标题】:crossrider extension won't load on https websitescrossrider 扩展不会在 https 网站上加载
【发布时间】:2014-12-31 17:25:19
【问题描述】:

我正在使用 crossrider 为我的网站制作跨浏览器扩展。

这是我的页面代码(extension.js):

appAPI.ready(function($) {


 //alert("Hello World");
 appAPI.resources.createImage(
    '<a href="test.html"><img src="http://localhost/images/fleche.png" width="128" height="128" /></a>'
 ).prependTo('body');

});

sn-p 仅适用于使用 http 协议的网站。当涉及到 https 时,javascript 代码无法运行。

感谢您的帮助。

【问题讨论】:

    标签: javascript jquery crossrider


    【解决方案1】:

    appAPI.resources.createImage 方法旨在使用资源文件夹中的文件作为 src 创建 jQuery 图像对象。正如文档中的注释所说:

    您必须在 src 属性前加上 resource-image://

    如果您想简单地将图像注入页面,请使用标准 jQuery。例如:

    $('<a href="test.html"><img src="http://localhost/images/fleche.png" width="128" height="128" /></a>')
      .prependTo('body');
    

    [披露:我是 Crossrider 的员工]

    【讨论】:

    • 代码正常运行,我知道我可以将图片存储在应用程序中并与api一起使用。该代码适用于常规 http 网站,例如 stackoverflow,但不适用于 https 网站,例如 google 或 facebook。
    • 如前所述,API 方法是为处理扩展资源而设计的。它可能会无意中使用 HTTP 地址,但它并不比我介绍的 jQuery 好。以这种方式使用,它具有您遇到的相同限制,即CORS 和混合内容问题。 (a) 不要在您的 URL 中指定协议(即以 // 开头)并确保资源也可以通过 HTTPS 提供,或者 (b) 通过放置正确使用 API 方法扩展资源文件夹中的资源。
    猜你喜欢
    • 2013-08-13
    • 1970-01-01
    • 2016-06-29
    • 2012-01-17
    • 1970-01-01
    • 2017-12-19
    • 1970-01-01
    • 1970-01-01
    • 2015-08-02
    相关资源
    最近更新 更多