У меня есть два файла javascript для моего html-проекта. Один для мобильных устройств, а один для ПК. Является ли способ сделать это так, чтобы он обнаружил, какое устройство вы используете, и решите, какой файл javascript использовать на основе этого?Есть ли способ переключать файлы javascript?
0
A
ответ
3
Вы можете сделать это:
if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
var js = document.createElement('script');
js.src = 'mobile.js';
document.body.appendChild(js);
}
else {
var js = document.createElement('script');
js.src = 'desktop.js';
document.body.appendChild(js);
}
выше определяет, является ли он мобильный телефон или нет, и загружает скрипт, основанный на этом.
0
Если у вас есть JQuery, вы можете:
if ($.browser.mobile) {
$('body').append('<script src="mobile.js">');
} else {
$('body').append('<script src="desktop.js">');
}
$.browser.mobile
установлена истина, когда пользователь находится в мобильном устройстве.
0
здесь является полной функцией проверки, если она возвращает true
прикрепить ваш желательный мобильные JS еще прикрепить Ваш рабочий стол расслоения плотной
ЯШ:
window.mobilecheck = function() {
var check = false;
(function(a){if(/(android|ipad|playbook|silkhiptop|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|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)))check = true})(navigator.userAgent||navigator.vendor||window.opera);
return check; }
пример:
if(window.mobilecheck)
{
// attach mobile source
}
else
{
//attach pc source
}
оригинального источник сценария:
Смежные вопросы
- 1. Есть ли способ программно переключать вибрацию?
- 2. Есть ли способ отправить переменные в файлы javascript?
- 3. Есть ли «правильный» способ читать CSV файлы
- 4. Есть ли способ восстановить файлы с "repository.git"
- 5. Есть ли способ получить файлы журнала honeypot
- 6. Есть ли способ изменить файлы PHP автоматически?
- 7. Есть ли способ заставить TextMate кэшировать файлы?
- 8. Есть ли способ программно перемещать файлы заголовков?
- 9. Есть ли способ форматировать файлы erb?
- 10. Есть ли способ защитить файлы iCalender?
- 11. Есть ли способ отделить файлы от C++?
- 12. Есть ли способ автоматически генерировать файлы har?
- 13. Может Javascript переключать рамки?
- 14. есть ли способ увидеть, какие файлы включают/требуют другие файлы?
- 15. Есть ли способ скомпилировать файлы .PAS в .COM-файлы?
- 16. Как переключать элементы с javascript
- 17. Можно ли переключать уведомления?
- 18. Есть ли способ скрыть код javascript?
- 19. Есть ли хороший способ минимизировать javascript ES2016?
- 20. Есть ли способ, чтобы скрыть код JavaScript
- 21. Есть ли способ отследить вызов функции javascript?
- 22. Есть ли способ загрузки javascript-скриптов одновременно?
- 23. Есть ли способ сохранить JavaScript DOM-манипуляции?
- 24. Есть ли способ скрыть комментарии Javascript?
- 25. Есть ли способ JavaScript для file_get_contents()?
- 26. Есть ли способ заморозить document.body.innerHTML в JavaScript?
- 27. Есть ли собственный способ проанализировать объект JavaScript?
- 28. Есть ли способ определения интерфейсов в Javascript?
- 29. Есть ли способ сделать это в javascript?
- 30. Есть ли способ очистить этот беспорядок JavaScript?
Нет. Поместите оба из них в один и тот же файл и запустите код в соответствии с платформой (понюхайте с помощью скрипта) или создайте два файла HTML и позвольте серверу отправлять правильный HTML-код в браузер. – PhistucK
вы можете использовать что-то вроде http://modernizr.com/, чтобы определить, какой тип браузера вы используете во время выполнения, а затем используйте что-то вроде http://requirejs.org/ для динамического добавления соответствующего JS-файла. В противном случае вы можете использовать проверку серверов для «пользовательского агента», чтобы определить, какой тип браузера пользователь работает. – haxxxton
Альтернативой является добавление третьего скрипта, который загружает один из скриптов, в зависимости от платформы. Хакерная и обескураженная альтернатива - использовать 'document.write', но это настоящее зло. – PhistucK