2013-10-01 6 views
0

У меня есть сайт wordpress, на котором есть сценарий перенаправления на мобильный телефон. Сценарий работает нормально. Но когда пользователь хочет разворачиваться на настольном сайте через мобильный, снова скрипт обнаруживает его как мобильный и перенаправляется на мобильный сайт. Поэтому я хочу, чтобы пользователь, переориентированный на настольную версию на мобильном телефоне, оставался только на настольной версии. Каким образом можно оставаться на рабочем столе, когда пользователь выбирает его как рабочий стол и тот же для мобильных устройств. JS CODE для перенаправления.Mobile To Desktop Redirection и должен оставаться на рабочем столе

// JavaScript Document 
(function(a,b){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm(os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s)|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp(i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac(|\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(|\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg(g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v)|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v)|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-|)|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))window.location=b})(navigator.userAgent||navigator.vendor||window.opera,'http://www.*******.com/mobile'); 

Спасибо ....

ответ

0

можно обернуть JavaScript в PHP-условного оператора и использовать переменную в $ _SESSION, чтобы определить, является ли ваш redircet сценарий должен быть запущен

if(strpos($_SERVER['HTTP_REFERER'], '/mobile') !== false && strpos($_SERVER['REQUEST_URI', '/mobile') === false) 
{ 
    $_SESSION['stayOnDesktop'] = true; 
} 
else 
{ 
    $_SESSION['stayOnDesktop'] = false 
} 
if(!isset($_SESSION['stayOnDesktop']) || !$_SESSION['stayOnDesktop']) 
{ 
    //load/echo javascript here 
} 

Это предполагает, что все ваши мобильные страницы содержат «/ mobile». Также, если они захотят вернуться к мобильной версии по ссылке, переменная сеанса будет ложной, и они будут продолжать оставаться на мобильном сайте до тех пор, пока они не вернутся к настольной версии.

Помимо использования элементов $ _SERVER вы можете сделать ссылку на сайт для рабочего стола с мобильного сайта формой и проверить, установлено ли значение $ _POST ['flagToStayOnDesktop'] для установки переменной сеанса.

+0

Я также использую PHP-скрипт ... если URL содержит /? Version = desktop, то он перенаправляется на рабочий стол. Могу ли я добавить это в PHP? Может ли это работать ??? – tushAR

+0

должен работать, попробуйте. честно говоря, использование элемента формы и использование сообщения для флага, вероятно, лучший способ пойти до тех пор, пока вы не возражаете, что ссылка является формой. – Bryan

+0

Огромное вам спасибо ... :) – tushAR