【发布时间】:2012-09-18 15:41:40
【问题描述】:
有人知道从http://jquery-ui.googlecode.com/svn/tags/1.8.23/themes/ 获取 jQuery 主题列表的方法吗?
我正在创建带有主题滚轮的简单网页,用户可以在其中动态切换主题。
Working fiddle - 点击右上角的主题并选择一个新主题。
现在列表被硬编码如下,
<div id="theme-list">
<ul>
<li class="themes-el ui-state-highlight" data-theme="cupertino">cupertino</li>
<li class="themes-el" data-theme="hot-sneaks">hot-sneaks</li>
<li class="themes-el" data-theme="smoothness">smoothness</li>
<li class="themes-el" data-theme="pepper-grinder">pepper-grinder</li>
<li class="themes-el" data-theme="ui-lightness">ui-lightness</li>
<li class="themes-el" data-theme="ui-darkness">ui-darkness</li>
<!-- and more -->
</ul>
</div>
有没有办法从 URL http://jquery-ui.googlecode.com/svn/tags/1.8.23/themes/ 获取这个主题列表? (跨域:http://www.w3.org/TR/cors/#access-control-allow-origin-response-hea)
试过了,但是下面的代码失败了..
$.ajax({
url: 'http://jquery-ui.googlecode.com/svn/tags/1.8.23/themes/',
dataType: 'text',
beforeSend: function ( xhr ) {
xhr.setRequestHeader("Access-Control-Allow-Origin", 'http://jquery-ui.googlecode.com');
xhr.setRequestHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS");
},
crossDomain: true,
success: function (data) {
alert(data);
},
error: function (jqXHR, textStatus, errorThrown) {
alert(errorThrown + ' ' + textStatus + ' ' + jqXHR.responseText);
}
});
感觉我在这里遗漏了很多东西。任何见解都会有帮助。
【问题讨论】:
-
我只能找到一种跨浏览器的方式来做跨域 ajax IE8+ 和其他浏览器,对于 IE6-7 什么都没有:/ stackoverflow.com/questions/3362474/… 但它是用于 JSON 嗯跨度>
-
@mcpDESIGNS 我会试一试的。我从来没有对跨域资源做过任何事情,而且总是在安全区的 Intranet 中。现在正在考虑我自己的网页并喜欢使用 jQuery 的想法主题.. Anways.. 我阅读了 MDN 并尝试了一些东西,但它对我没有用.. 我想我在这里遗漏了很多东西.. 所以想把它贴在这里以便有人可以真正指出我正确的方向。
-
最常见的解决方法是创建您自己的页面来下载它,然后 JavaScript 可以使用它。您可以创建一个页面,该页面仅在 jquery-ui.googlecode.com/svn/tags/1.8.23/themes 上调用 HTTP 请求(例如,对于 php,请参阅 php.net/manual/en/function.curl-exec.php),然后您可以处理它或仅查看它。我知道这不是您正在寻找的东西,但它总是有效:-)
-
@Vega 也可以看看这里enable-cors.org
-
@kuncajs 当你说'创建一个页面'时,你的意思是像
iframe这样的东西吗?我认为值得一试..但我认为会有一个适当的直接方法来解决这个问题。
标签: javascript jquery cross-domain same-origin-policy