2

我是 jQuery / javascript 的新手,我没有先检查窗口大小就可以工作。然后把它弄乱了,不能让它工作。如果屏幕尺寸小于 699 ,重定向应该替换mysite.com/index.php?querystring为。请帮助。mysite.com/mobile.php?querystring谢谢你。

这个功能似乎完全符合我的需要,但如果屏幕尺寸更小,则需要加载。

$('a').each(function(index, a) {
    var href = $(a).attr('href');
    $(a).attr('href', 'http://mysite.com/mobile.php?redirect=' + href;)
}

}

//下面不工作

function checkWidth() {
    var windowSize = $(window).width();
    if (windowSize <= 699) {

window.onload = function() {
    /* onload code */
    // Execute on load
    //checkWidth();{

var anchors = document.getElementsByTagName("a");

    for (var i = 0; i < anchors.length; i++) {
    anchors[i].href = "http://mysite.com/mobile.php?redirect=" + anchors[i].href

    /* function checkWidth() {
    var windowSize = $(window).width();*/
}
}
4

2 回答 2

2

如果您打算使用 jQuery,这应该可以工作:

$(document).ready(function() {
    var window_width = $(window).width();

    if( window_width < 699 ) {
        $('a').each(function(index, a) {
            var href = $(a).attr('href');
            $(a).attr('href', 'http://mysite.com/mobile.php?redirect=' + href;
        }); 
    }
});
于 2013-06-16T23:21:37.433 回答
1

这确实是您应该在服务器端做的事情。因为不会有人在会话过程中完全切换设备,所以您应该在他们第一次访问站点时检查设备,然后创建一个会话变量来存储它。然后,在每个新页面上,让服务器检查变量并使用它来确定要放入哪些链接。但是,如果您对在客户端执行此操作感到满意,那么 Ryan Pilbeam 的答案应该可以工作。

于 2013-06-17T00:08:14.600 回答