Javascript 在服务器上更改移动站点?
我会尽力把这个问题说清楚,因为它很难解释。基本上,我正在构建一个phonegap iphone应用程序,该应用程序连接到此新闻站点并解析主要文章以供阅读,主要使用jQuery函数load()。问题是,该网站的移动版本不太可靠,当使用iphone访问时,有时会自动加载移动网站,有时会加载主网站。他们有不同的参考类和ID,所以(就像我在移动站点上构建的那样),如果主站点被加载,我的应用程序就完全无用了。该网站确实有一个脚本,该脚本设置(最有可能)一个会话变量,用于确定是加载移动站点还是桌面站点,可在此处找到:Javascript 在服务器上更改移动站点?,javascript,jquery,cordova,load,Javascript,Jquery,Cordova,Load,我会尽力把这个问题说清楚,因为它很难解释。基本上,我正在构建一个phonegap iphone应用程序,该应用程序连接到此新闻站点并解析主要文章以供阅读,主要使用jQuery函数load()。问题是,该网站的移动版本不太可靠,当使用iphone访问时,有时会自动加载移动网站,有时会加载主网站。他们有不同的参考类和ID,所以(就像我在移动站点上构建的那样),如果主站点被加载,我的应用程序就完全无用了。该网站确实有一个脚本,该脚本设置(最有可能)一个会话变量,用于确定是加载移动站点还是桌面站点,可在
http://www.macrumors.com/mr-toggleMobile.php?mobile=1
1将设置移动站点,0将设置桌面站点。它适用于移动safari和普通safari。在使用load()方法时,使用此脚本和javascript/jquery是否有办法改变它是拉入移动站点还是拉入桌面?(在某些情况下,我需要桌面)。谢谢 不要使用
load()
,而是使用ajax()
通过这种方式,您可以为url设置数据
选项。以下是对数据的解释:
“要发送到服务器的数据。如果尚未转换为字符串,则会将其转换为查询字符串。它被附加到GET请求的url。请参阅processData选项以防止此自动处理。对象必须是键/值对。如果value是一个数组,jQuery将基于传统设置(如下所述)的值用相同的键序列化多个值。“
例如:
$.ajax({
url:"http://www.macrumors.com/mr-toggleMobile.php",
data:"mobile=1",
error: function(jqXHR, textStatus, errorThrown){
//textStatus is the error text, like timeout or abort
},
success:function(data){
//data is the downloaded page. Make your stuff here
}
});
因为你说有时你需要一个或另一个,你可以做一个函数:
function getData(var){
$.ajax({
url:"http://www.macrumors.com/mr-toggleMobile.php",
data:"mobile="+var,
error: function(jqXHR, textStatus, errorThrown){
//textStatus is the error text, like timeout or abourt
return "Error: "+textStatus;
},
success:function(data){
//data is the downloaded page. Make your treatment here
return data;
}
});
}
然后你打电话说:
var newsPage = getData(1); //1 for mobile, 0 for normal
//do whatever you need with newsPage, like a if for checking if came starting with 'Error'. If not, then seems ajax was successful.
有关更多说明和选项,请选中而不是使用
load()
,而是使用ajax()
通过这种方式,您可以为url设置数据
选项。以下是数据
的说明:
要发送到服务器的数据。如果尚未转换为字符串,则会将其转换为查询字符串。它被附加到GET请求的url。请参阅processData选项以防止此自动处理。对象必须是键/值对。如果value是一个数组,jQuery将基于传统设置(如下所述)的值用相同的键序列化多个值。“
例如:
$.ajax({
url:"http://www.macrumors.com/mr-toggleMobile.php",
data:"mobile=1",
error: function(jqXHR, textStatus, errorThrown){
//textStatus is the error text, like timeout or abort
},
success:function(data){
//data is the downloaded page. Make your stuff here
}
});
因为你说有时你需要一个或另一个,你可以做一个函数:
function getData(var){
$.ajax({
url:"http://www.macrumors.com/mr-toggleMobile.php",
data:"mobile="+var,
error: function(jqXHR, textStatus, errorThrown){
//textStatus is the error text, like timeout or abourt
return "Error: "+textStatus;
},
success:function(data){
//data is the downloaded page. Make your treatment here
return data;
}
});
}
然后你打电话说:
var newsPage = getData(1); //1 for mobile, 0 for normal
//do whatever you need with newsPage, like a if for checking if came starting with 'Error'. If not, then seems ajax was successful.
有关更多说明和选项,请选中