Браузер обнаружил проблему с Opera

Я использую этот скрипт для обнаружения браузеров, но, похоже, он не реализует css в опере. Итак, в browserdetect.js у меня есть это:

{
  prop: window.opera,
  identity: "Opera"
},

И в моем html у меня есть это:

else if (BrowserDetect.browser == "Opera") {
    document.write ('<link href="styles/style.css" media="screen" rel="stylesheet" type="text/css" />');

Кажется, что в других браузерах он работает правильно, но в Opera он просто не может реализовать <link href="styles/style.css" media="screen" rel="stylesheet" type="text/css" /> в верхней части страницы. Не подскажете, в чем может быть проблема? Спасибо.


person Maay    schedule 16.05.2011    source источник
comment
Что вы получите, если alert(BrowserDetect.browser)?   -  person Quentin    schedule 16.05.2011
comment
Зачем вам нужно определять конкретный браузер?   -  person Tim Down    schedule 16.05.2011


Ответы (3)


Это работает, так что у вас есть другие проблемы

http://jsfiddle.net/mplungjan/sWvqk/

BrowserDetect.init();  
alert("Opera? "+BrowserDetect.browser+":"+(BrowserDetect.browser=="Opera"))
person mplungjan    schedule 16.05.2011
comment
мой плохой, не хватало одного }, извините - person Maay; 16.05.2011

почему бы не использовать browsercap для php? это также может быть хорошо: http://www.dangrossman.info/2010/10/11/a-browscap-ini-parser-in-javascript/ или попробуйте следующее: как определить браузер оперы с помощью javascript

person Daniel Ruf    schedule 16.05.2011
comment
Потому что мне действительно нужно использовать только html, javascript и css. - person Maay; 16.05.2011
comment
ваш сервер не поддерживает php и json? поэтому ваш скрипт просто работает, если javascript активирован, php-скрипт будет лучше: stackoverflow.com/questions/1998293/ - person Daniel Ruf; 16.05.2011

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

Этот код можно использовать для настройки оперы только в css:

@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) {

            #my-id { clear:right; }

        }

См. здесь, чтобы узнать больше об этих вызовах CSS в браузере.

person Stanley Cup Phil    schedule 16.05.2011