2013-05-04 4 views
4

Я хотел бы создать некоторую документацию HTML для большого приложения MATLAB, которое будет отображаться в основном в браузере справки MATLAB, в любой версии MATLAB от 11b. У этого будет некоторый пользовательский CSS (но ничего очень сложного).Обнаружение MATLAB Help Browser

Однако мне также хотелось бы, чтобы одна и та же документация могла отображаться в других браузерах. Мне очень нравятся Chrome и IE9 и 10, хотя поддержка других браузеров будет приветствоваться. Я хотел бы документацию к

  1. Смотри по существу то же самое во всех браузерах, в том числе справки браузера MATLAB, но
  2. несколькими способами выглядят по-разному, когда представлены в справке браузера MATLAB - в частности, я хочу matlab: ссылки, которые будут отображаться и вести себя по-другому, поскольку они не поддерживаются вне браузера справки MATLAB.

Вопрос 1: Я бегу в трудности даже с 1, так как, несмотря на простоту моего КАС, MATLAB Help Browser кажется непредсказуемым в какие части CSS он поддерживает, и это, кажется, сильно варьировать через версии MATLAB. Я предполагаю, что это вообще не задокументировано. Есть ли у кого-нибудь опыт/советы по использованию CSS в браузере справки MATLAB?

Вопрос 2: Я надеялся, чтобы иметь возможность автоматического обнаружения каким-то образом был ли поддерживается протокол matlab: в зрительской браузере, но это, кажется, от просмотра других StackOverflow отвечает, что это не возможно. Учитывая, что мне нужно поддерживать Chrome, даже не стоит пытаться следовать ссылке matlab: и обнаруживать, не сработает ли она, поскольку, по-видимому, Chrome терпит неудачу. Бу. Поэтому моя следующая мысль заключается в том, чтобы использовать JavaScript для обнаружения UserAgent браузера. MATLAB 11b сообщает себя как Mozilla4.0 с ICEbrowser, тогда как 13a дает Mozilla4.0 с Trident6. Я не совсем уверен, что это такое - я предполагаю, что они сторонние компоненты Java-браузера, которые ведут себя как Mozilla, а MathWorks изменили компонент между 11b и 13a.

Если я обнаружил UserAgent и предположил, что что-либо содержащее строки ICEBrowser или Trident, этого, вероятно, будет достаточно, чтобы отличить браузер справки MATLAB для большинства целей? Очевидно, мне придется постоянно обновлять строки UserAgent для выпусков post-13a.

Спасибо за ваши предложения!

ответ

3

Возможности помощи браузера MATLAB сильно отличаются не только между различными MATLAB но и между различными операционными системами и даже между различными архитектурами (последние 64-битные версии часто имеют особенно плохой браузер).

Мы используем пользовательский агент для доставки веб-страниц, специфичных для MATLAB. Вот список некоторых из них:

R2010b/R2011b, 32bit, WinXP: 
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20060705 

R2010b/R2011b, 32bit, Win7: 
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.8) Gecko/20060705 

R2010b, 64bit, Win7: 
Mozilla/5.0 (Java 1.6.0_17; Windows 7 6.1 amd64; de_DE) ICEbrowser/v6_0_2 

R2011b, 64bit, Win7: 
Mozilla/5.0 (Java 1.6.0_17; Windows 7 6.1 amd64; de_DE) ICEbrowser/v6_0_2 

R2012a, 32bit, Win7: 
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2) Gecko 

R2012a, 32bit, WinXP: 
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko 

R2012a, 64bit, Win7: 
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2;  .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; Tablet PC 2.0) 

R2012b, 32bit, Win7: 
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2) Gecko 

R2012b, 64bit, Win7: 
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2;  .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; Tablet PC 2.0) 

R2010b, 32bit, Linux: 
Mozilla/5.0 (Java 1.6.0_17; Linux 2.6.32-33-generic i386; en_US) ICEbrowser/v6_0_2 

Обратите внимание, что вы не можете просто сделать сравнение строк против них, так как некоторые части строк меняются в зависимости от клиентской машины (например, код языка).

Также обратите внимание, что другие возможности помимо визуализации HTML и CSS сильно различаются. В частности, поддержка JavaScript и HTTP-аутентификации.

+0

Благодарим Флориана - мои извинения, я должен был принять это некоторое время назад. –

+0

@SamRoberts: Без проблем, рад, что я могу вам помочь! –

2

icebrowser - это средство отображения html java, поддерживающее случайное подмножество html/javascript. Начиная с 2012 года, для основной помощи и с 2013 года для помощи «дополнительного программного обеспечения» они переключились на клиента, который представляет собой тонкую оболочку jni вокруг собственного браузера, поэтому вы получаете трезубец (= интернет-проводник) на окнах, webkit (= сафари) на mac и gecko (= firefox) на linux. К сожалению, они не изменили агент пользователя, чтобы иметь что-то очевидное, как matlab. Это означает, что с 2013 года мы можем использовать рендеринг css/javascript с реальной возможностью браузера, но получить все проблемы с кросс-браузером, которые у вас есть в открытом Интернете. До начала 2013 года возможности браузера были гораздо более ограниченными, но вам нужно было только беспокоиться об одном браузере.

Я искал себя надежный способ обнаружить, если MATLAB: протокол поддерживается, но все, что я нашел твой вопрос :-)

Смежные вопросы