Основной вопрос JS: как сделать «еще, загрузить JavaScript» - PullRequest
1 голос
/ 06 мая 2011

У меня есть немного Javascript, который я хочу игнорировать на iPad / iPhone, но для чтения другими браузерами.JS:

<script src="scripts/jquery.anchor.js" type="text/javascript"></script>

На этом сайте я нашел код для таргетинга на определенное устройство, а именно:

<script>
var userAgent = navigator.userAgent;

if (userAgent.match(/iPad/i) || userAgent.match(/iPhone/i)) {
   // iPad or iPhone
}
else {
   // Anything else
}
</script>

Я новичок в JavaScript и не будузнать синтаксис для размещения скрипта после комментария // Что-нибудь еще ... любая помощь приветствуется.Спасибо!

Ответы [ 2 ]

3 голосов
/ 06 мая 2011

Не проверяйте браузер, проверяйте функциональность , которую он предлагает.

Если есть функция, которая поддерживается не всеми браузерами, не проверяйте, какие браузеры не поддерживают ее, потому что, если она будет поддерживать ее в будущем?

Сделайте что-то вроде этого:

if (nonStandardFunction) {
    nonStandardFunction();
}

Таким образом, любой браузер, поддерживающий его, выполнит его, и вам все равно, какие из них будут или нет.

Вы также можете добавить функциональность самостоятельно:

window.nonStandardFunction = window.nonStandardFunction || function () {      
    // your implementation
};

Если, с другой стороны, вы специально не хотите, чтобы i<Device> имел к нему доступ, проверьте пользовательский агент.

Вот пример того, что вы можете сделать:

var addJS = function (file) {
  var head = document.getElementsByTagName('head')[0],
      script= document.createElement("script");

  script.type = "text/javascript"; // redundant
  script.src = file;
  head.appendChild(script);
}, userAgent = navigator.userAgent,
   isNotiDevice = !(userAgent.match(/iPad/i) || userAgent.match(/iPhone/i));

if (isNotiDevice) {
    addJS('scripts/jquery.anchor.js');  
}
0 голосов
/ 06 мая 2011

Не уверен, поможет ли это, но вы можете использовать

   <script id="someID" type="text/javascript"></script>

, а затем

   document.getElementById('someID').src= 'script.js';

И просто настроить его в своем операторе if для конкретного браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...