Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: В Опере не работает 'document.execCommand("SaveAs")'
 
 автор: tuder   (04.03.2009 в 05:18)   письмо автору
 
 

http://www.03www.ru/js/230806/k-35.htm

Почему может не работать в Опере приведённый пример?
И как бы добится такого эффекта через onclick?

  Ответить  
 
 автор: PAT   (04.03.2009 в 05:45)   письмо автору
 
   для: tuder   (04.03.2009 в 05:18)
 

Прямо в коде написано: "Save-feature available only in Internet Exlorer 5.x."

Английский язык, как я понял, вам неизвестен совершенно.
Потому перевожу на русский то, что вам самому, видимо, никогда не понять: "Функция сохранения доступна только в браузерах Интернет-Эксплорер, начиная с 5-й его версии"

  Ответить  
 
 автор: tuder   (02.04.2009 в 09:38)   письмо автору
 
   для: PAT   (04.03.2009 в 05:45)
 

Я прочитал, что работает только в ИЕ, вопрос-то почему оно не работает в Опере?
Это ж ява-скрипт, который Опера поддерживает.

И опять же вопрос, как сделать такой эффект черз onclick, но чтобы работало и в Опере.

  Ответить  
 
 автор: PAT   (02.04.2009 в 10:42)   письмо автору
 
   для: tuder   (02.04.2009 в 09:38)
 

>Это ж ява-скрипт, который Опера поддерживает.

Да, вы правы, - Опера поддерживает Javascript
Но "командный идентификатор" (Command Identifiers) execCommand относится не к Javascript.

Попробую сформулировать:
Javascript - это всего лишь язык программирования, который
позволяет оформить нужные вам изменения значений определённых СВОЙСТВ конкретных
ОБЪЕКТОВ (или КОЛЛЕКЦИЙ объектов), используя определённые МЕТОДЫ обработки каких-то
определённых СОБЫТИЙ.

Всё, что в моём определении выделено большими буквами - это относится как раз к конкретной ВЕРСИИ конкретного БРАУЗЕРА, а не к Javascript'у.

Чуть подробнее:
ОБЪЕКТЫ - это, в основном, HTML-теги (но не только). А разные версии разных браузеров
поддерживают какие-то свои собственные наборы тегов. Например, теги <marquee>, <col>,<colgroup> раньше поддерживались только браузером MSIE и никакой другой браузер их
просто не понимал (а кое-кто и до сих пор не понимает). А тег <blink>, наоборот, понимали и
понимают многие браузеры, а MSIE до сих пор такого тега не знает.

СВОЙСТВА - это, в основном, атрибуты HTML-тегов (но не только). И здесь у разных браузеров у
одних и тех же HTML-тегов поддерживается свой набор свойств для каждого тега (и свой набор
значений для каждого свойства). Например, раньше свойство стиля visibility поддерживал только
браузер MSIE, а все остальные браузеры его не понимали. И, например, значения
размеров/координат в браузере MSIE всегда можно указывать без размерности (и он понимает эти
числа как пиксели), а все прочие браузеры требуют обязательного указания размерности.

Аналогично, в разных браузерах разных версий поддерживается свой собственный набор
КОЛЛЕКЦИЙ, МЕТОДОВ и СОБЫТИЙ.

Потому-то и получается, что какой-то конкретный скрипт где-то работает, а где-то - не хочет работать.
Потому-то и существует проблема "кроссбраузерности" - сделать ТАК, чтобы учесть все возможные
нюансы всех существующих версий всех существующих браузеров.
Потому-то коды, написанные профессионально и кроссбраузерно, и по сути выполняющие простейшие действия на странице, "раздуваются" на несколько сотен строк, хотя для какого-то конкретного браузера хватило бы всего десятка этих строк.
И, наконец-то, именно потому программисты и просят так много денег за свою работу :-)


Да и сам язык Javascript - в разных браузерах разных версий имеет свой определённый набор
операторов, функций и методов. Например, очень удобный и универсальный метод slice ()
(работающий как со строками, так и с массивами) поддерживает только MS JScript, начиная с
версии 3.0, а все прочие Javascript'ы, используемые в иных браузерах, до сих пор этого
замечательного метода не знают.

Резюме:
1. Командные идентификаторы
* execCommand
* queryCommandEnabled
* queryCommandIndeterm
* queryCommandState
* queryCommandSupported
* queryCommandValue
поддерживаются только и исключительно браузером MSIE

2. Для браузеров Mozilla и Opera работать с кешем можно. Но не посредством HTML+JS+CSS, а только лишь используя технологию Flash.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования