获取窗口大小的Javascript,但失败时,运行标准值

获取窗口大小的Javascript,但失败时,运行标准值,javascript,Javascript,我用vb.net制作了一个asp.net网站。我需要获得windows大小,并成功地将以下JavaScript与WindowsSize ashx一起包括在内。这给了我很好的寡妇尺寸。有时它似乎不能完全工作(在某些人的IPhone上)。我真的对Java一无所知,但当它无法获得宽度和高度时,它会弹出失败窗口 我想要的是仍然得到消息,但是脚本仍然以给定的宽度和高度值(宽度=768,高度=854)继续 对于了解JavaScript的人来说,这可能非常简单,但对我来说。。。问题是我自己也没有手机,无法真正

我用vb.net制作了一个asp.net网站。我需要获得windows大小,并成功地将以下JavaScript与WindowsSize ashx一起包括在内。这给了我很好的寡妇尺寸。有时它似乎不能完全工作(在某些人的IPhone上)。我真的对Java一无所知,但当它无法获得宽度和高度时,它会弹出失败窗口

我想要的是仍然得到消息,但是脚本仍然以给定的宽度和高度值(宽度=768,高度=854)继续

对于了解JavaScript的人来说,这可能非常简单,但对我来说。。。问题是我自己也没有手机,无法真正测试它。我所有的浏览器都被识别

请问,谁想为我修改此代码以便将其包括在内

提前谢谢

函数SetWidthHeight(){
var height=$(window.height();
变量宽度=$(窗口).width();
$.ajax({
url:“windowSize.ashx”,
数据:{
“高度”:高度,
“宽度”:宽度
},
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”
}).完成(功能(数据){
if(data.isFirst){
window.location.reload();
};
}).失败(功能(xhr){
警报(“检索正确的浏览器大小时出现问题”);
});

}
首先,设置默认值,然后尝试找出参数

...

var height = 854;
var width = 768;
try {
  height = $(window).height();
  width = $(window).width();
} catch(Exception e) { }

$.ajax({ ...

PS:它只是javascript。

您可以像这样设置默认值-

function SetWidthHeight() {
var height = $(window).height();;
var width = $(window).width();
height = (height) ? height : 854;
width = (width) ? width : 768;
$.ajax({
    url: "windowSize.ashx",
    data: {
        'Height': height,
        'Width': width
    },
    contentType: "application/json; charset=utf-8",
    dataType: "json"
}).done(function (data) {
    if (data.isFirst) {
        window.location.reload();
    };
}).fail(function (xhr) {
    alert("Problem to retrieve the correct browser size.");
});

}

Java与Javascript无关iphone上到底有什么不起作用?它能打电话吗?是不是返回了错误的大小?很抱歉java。对我来说,这一切都像魔术。。。它在iPhone上返回消息“检索正确的浏览器大小有问题”。(我不知道版本)。我知道它在另一台Iphone上工作……无论如何,为了确保它总是显示一些东西,我首先想通过假设宽度和高度来解决它……那么失败的原因是什么?服务器做了什么导致了错误?你看了失败的原因了吗?jQuery在fail方法的参数中提供消息。我应该能够在服务器日志中找到错误吗?这可能是大海捞针。。。。我根据下面的脚本调整了代码,我正在等待这个Iphone用户的反馈。这可能不起作用,因为jQuery很少抛出异常。你可能是对的。我认为您的代码工作得更好。:)看起来合乎逻辑。它总是以一个值开始,但它仍然会执行重载功能吗?虽然我知道它需要重新加载以获得正确的宽度和高度(脚本首先通过我的vb.script,也没有数据,只有第二次执行操作),以回应我的上述评论。它像往常一样运行脚本。第一次通过时,由于(如果不是(IsNothing(Session(“BrowserWidth”))),他没有运行完整的脚本)。我担心它现在第一次会包含数据,但这并没有发生。所以这没关系。当我运行另一个解决方案时,我没有尝试它,这很有效。为了理解这些代码,我假设它们的作用是一样的……我做了这个,它似乎起了作用。谢谢现在,他们至少在屏幕上看到了一些东西,尽管屏幕并没有很好地构建到真正的屏幕大小。。但是,这是我现在的目标。。。