我正在使用GalleryCMS为图像标题输出JSON提要等。使用它作为单独的脚本来解析JSON:
(function( $ ) {
$.fn.gallerycms = function( options ) {
var settings = $.extend({
url : '',
theme : '',
}, options);
var $this = $(this);
return this.each(function() {
if (settings.url.indexOf('/myfeed/') > -1) {
alert('Only album feeds are supported by Galleria.')
} else if (settings.url.indexOf('/feed/') > -1) {
parseAlbum();
}
});
function parseAlbum() {
$.getJSON(settings.url,
function(data) {
$.each(data.images, function(key, image) {
$($this).append('img src=<a href="' + image.url + '"><img data-title="' + image.caption + '" src="' + image.thumb + '" /></a>');
});
Galleria.loadTheme(settings.theme);
Galleria.run($this);
});
}
};
})( jQuery );
在html文档中,我使用它来设置脚本:
$(document).ready(function() {
$('#galleria').gallerycms({
url : 'http://www.paulgubaphoto.com/GalleryCMS/index.php/api/feed/json/e2b740b7-9ab1-11e1-ae3d-0022192d6244',
theme : '/galleria/themes/twelve/galleria.twelve.min.js'
});
因此与Chrome,Firefox,Safari,Mozilla完美搭配,但不喜欢上网浏览器。 您可以在这里找到它:www.paulgubaphoto.com/index-test.html。我是初学者,所以请慢慢清楚地输入。
保
答案 0 :(得分:0)
在您的document.ready函数调用初始化gallerycms中,您正在使用Web服务URL http://paulgubaphoto.com/GalleryCMS/index.php/api/feed/json/3e346db5-93b0-11e1-ae3d-0022192d6244
。但请求来自http://www.paulgubaphoto.com/index-test.html
。 IE浏览器将“www.paulgubaphoto.com”和“paulgubaphoto.com”视为2个不同的网站。这意味着(至少在IE中)您的网络服务请求受same origin policy的约束(参见原产地确定规则),并且需要使用jsonp。如果您实际更改浏览器地址栏中URL的域以匹配Web查询URL的域部分,一切正常(至少在我的IE9版本上)。
为了避免使用jsonp,您应该尝试按如下方式定义gallerycms Web服务URL:
$(document).ready(function() {
$('#galleria').gallerycms({
url : 'http://' + document.domain + '/GalleryCMS/index.php/api/feed/json/3e346db5-93b0-11e1-ae3d-0022192d6244',
theme : '/galleria/themes/twelve/galleria.twelve.min.js'
});
这样你就不必担心这些问题了。