小编San*_*ang的帖子

'没有传输'错误w/jQuery ajax在IE中调用

我需要使用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)

我该怎么办?

ajax jquery internet-explorer cross-domain

110
推荐指数
4
解决办法
9万
查看次数

CSS:使用margin/padding将Div拉伸到其父级高度的100%

目前我在这个页面上工作(见图1)

图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的不透明性而显得很奇怪.

底线是 - 我需要做这样的事情:

Figure2

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

Figure3

它应该适用于IE6,我不能只使用JPEG,因为设计师想要做评论和评论框阴影的文章.
提前致谢.

编辑:文章div的高度是隐含的所以我不能只设置中间部分的高度.

html css

5
推荐指数
1
解决办法
7079
查看次数

Javascript/jQuery:如何检测img是否完全下载?

我需要做的就是将图像定位在其父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具有宽度和高度之前调用该函数.

我该怎么办?

javascript jquery waitforimages

4
推荐指数
1
解决办法
2992
查看次数