我需要使用foursquare API来搜索场地.当然它是跨域的.
它在Firefox中没有任何问题,但在Internet Explorer中(7,8,9我测试过).
我的javascript代码如下:
searchVenues: function(searchQuery) {
$.ajax({
url: 'https://api.foursquare.com/v2/venues/search',
data: {
sw: bound_south_west,
ne: bound_north_east,
query: searchQuery.query,
oauth_token: FSQ_OAUTH_TOKEN,
limit: 25,
intent: 'browse',
v: 20120206
},
cache: false,
dataType: 'json',
success: function(data) {
displayResults(data, searchQuery.query);
},
error: function(xhr, status, errorThrown) {
console.log(errorThrown+'\n'+status+'\n'+xhr.statusText);
}
});
}
Run Code Online (Sandbox Code Playgroud)
在Firefox中,它可以完美地显示接收的数据.在Internet Explorer中,它在控制台上登录:
No Transport
Error
Error
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
目前我在这个页面上工作(见图1)

我需要在文章div上制作阴影,由于浏览器兼容性,我不能使用box-shadow属性.
所以我们将背景分为3个这样的部分,
<div class="article">
<div class="background-top"></div>
<div class="background-mid"></div>
<div class="background-bot"></div>
<div class="contents">
<!-- contents -->
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
直到我们将背景图像从包含浅蓝色背景颜色的JPEG更改为PNG才很好.
在我们更改图像文件之前,我可以使用z-index属性.(将中间部分的高度设置为100%并将顶部/机器人部分放在上面)但是,因为我用PNG改变它因为PNG的不透明性而显得很奇怪.
底线是 - 我需要做这样的事情:

但是当我将中间部分的高度设置为100%并具有margin-top/bottom属性时,
这就是我所拥有的(小提琴:http://jsfiddle.net/EaBxP/):

它应该适用于IE6,我不能只使用JPEG,因为设计师想要做评论和评论框阴影的文章.
提前致谢.
编辑:文章div的高度是隐含的所以我不能只设置中间部分的高度.
我需要做的就是将图像定位在其父div的中心.
首先,我尝试了这个.
$(document).ready(function() {
$('#image1').css({
'top': 50%, 'left': 50%,
'margin-top': (-$('#image1').height()/2) + 'px',
'margin-left': (-$('#image1').width()/2) + 'px'
});
});
Run Code Online (Sandbox Code Playgroud)
失败导致$('#image1').height()和width()在完全下载之前给出0.
所以我试着继续检查图像的大小,直到它具有特定的宽度和高度.
喜欢,
function inspectSize() { return ($('#image1').width() != 0); }
function setPosition() {
if(!inspectSize()) {
setTimeout(setPosition, 1000);
return;
}
$('#image1').css({
'top': 50%, 'left': 50%,
'margin-top': (-$('#image1').height()/2) + 'px',
'margin-left': (-$('#image1').width()/2) + 'px'
});
}
$(document).ready(setPosition);
Run Code Online (Sandbox Code Playgroud)
它仍然无效.
因为$('#image').width()在IE8下载之前返回28px(顺便说一句,IE7很好)
所以我终于尝试了
像这样的waitForImages jQuery插件,
$(document).ready(function() {
$('#image1').waitForImages(function() {
setPosition(); // without inspectSize()
});
});
Run Code Online (Sandbox Code Playgroud)
它适用于缓存的图像,但不适用于非缓存的图像.
在Image1具有宽度和高度之前调用该函数.
我该怎么办?