jquery ThemeSwitcher存在HTTPS问题

时间:2012-06-01 17:20:21

标签: jquery themeroller jquery-ui-theme

我在项目中使用了jquery主题滚轮,我注意到它正在创建Chrome警告:

The page at https://mysite/ displayed insecure content from http://static.jquery.com/ui/themeroller/images/themeGallery/theme_90_dark_hive.png.

最糟糕的是,它使“绿色旗帜”(安全网站)再次变白。

所以我正在研究,我发现这个问题的根源是jquery.ui.themeswitcher.js,它有一个带有非SSL网址的变量:

imgPrefix:"http://static.jquery.com/ui/themeroller/images/themeGallery/theme_90_",

如果我将其更改为“https”,则不会加载图像(事实上,似乎此协议未启用)。所以问题是:是否有支持HTTPS的网站,我可以在哪里获取文件?

3 个答案:

答案 0 :(得分:1)

我有类似的错误所以我从http://jqueryui.com/themeroller/themeswitchertool/下载了js,将其保存为jquery.themeswitcher.js并用google apis https urls替换了所有http jquery-ui url。

唯一的变化是在var switcherpane中,每个链接看起来像:

<li><a href=
"http://jqueryui.com/themeroller/css/parseTheme.css.php?....">
<img src=
"http://jqueryui.com/themeroller/images/themeGallery/theme_90_ui_dark.png" alt=
"UI Darkness" title="UI Darkness" /> <span class="themeName">UI
darkness</span></a></li>

我替换为:

<li><a href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/themes/ui-lightness/jquery-ui.css">
<img src="content/images/theme_90_ui_light.png" alt="UI Lightness" title=
"UI Lightness" /><span class="themeName">UI lightness</span></a></li>

如果您搜索该文件,则会有一些其他html图像被进一步引用。

您可以找到所有图片here

答案 1 :(得分:0)

我不确定自定义主题,但Microsoft的CDN托管了预先构建的主题,即使列出了http,它们也与https兼容。

http://www.asp.net/ajaxlibrary/CDNjQueryUI1820.ashx

答案 2 :(得分:0)

您只需将src链接设置为“https”,它就可以正常工作。

<link rel="stylesheet" href="themes/MyTheme.min.css" />
<link rel="stylesheet" href="themes/jquery.mobile.icons.min.css" />
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.1/jquery.mobile.structure-1.4.1.min.css" />    
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>    
<script src="https://code.jquery.com/mobile/1.4.1/jquery.mobile-1.4.1.min.js"></script>