![]() |
Вопросы по Html
Вот кусок кода из файла http://kkk.ru/aaa.htm -
<TD vAlign=top width="1%"><INPUT onclick="OW2('aaaaa/b2.htm')" type=checkbox value=" * "></TD> При клике на чекбоксе на странице http://kkk.ru/aaa.htm выпадает попап, в кот. открывается файл http://kkk.ru/aaaaa/b2.htm Что обозначает дескриптор OW2 и куда ведет линк при клике по этому чек-боксу, если файл b2.htm находится по адресу: http://kkk.ru/aaaaa/b2.htm? :confused: <--- Этот вопрос благополучно решен благодаря помощи hempsmoke (см. ниже) Я сгрузил аaa.htm в IE (Save as) к себе на винт и обозвал его - аaa2.htm - C:/DDD/mmm/aaa2.htm Как перенаправить линк из файла C:/DDD/аaa2.htm на файл C:/DDD/mmm/b2.htm на винте? У меня пока не получается. Доп. инфо: В файлах http://kkk.ru/aaa.htm и. соответственно, C:/DDD/mmm/aaa2.htm есть скрипт: <SCRIPT> <!-- begin brName = navigator.appName; brVer = parseInt(navigator.appVersion); if (brName == "Netscape" && brVer >= 3) VER = "N3"; else VER = "?"; var HW=""; function OW1(adr) { if (brName == "Netscape") window.open(adr); else window.open(adr,"ORD1"); } function OW2(adr) { HW = window. open(adr,'ORD2','scrollbars=1,resizable=0,width=210,height=250'); HW.focus(); } // end --> </SCRIPT> Примечание: в этот пост 17 марта я добавил уточнения с учетом замечаний и возникших вопросов. Сейчас меня интересует, что означает 'ORD2' в теле функции в скрипте. |
OW2 - функция которая срабатывает при клике. обрабатывает переменную, содержащую этот адрес... скорее всего какой - нить попап..
Цитата:
Добавлено через 1 минуту: т.е. aaaa на mmmm :) |
Sartam
Цитата:
|
2 @_is_absent & hempsmoke
Конечно, файл mmm/b2.htm на локальном винте, в дир. DDD/mmm - DDD/mmm/b2.htm. В дир. DDD также находится файл DDD/aaa2.htm - копия файла http://kkk.ru/aaa.htm на севере. Я хочу, чтобы линк mmm/b2.htm из моего файла DDD/aaa2.htm открывал файл DDD/mmm/b2.htm на моем винте. И еще: так что же все-таки обозначает дескриптор OW2 и куда ведет линк при клике по этому чек-боксу??? При клике на этом чекбоксе в интернете открывается файл http://kkk.ru/aaaaa/b2.htm. При заменах (на моем винте) типа: <TD vAlign=top width="1%"><INPUT onclick="OW2('mmm/b2.htm')" type=checkbox value=" * "></TD> и <TD vAlign=top width="1%"><INPUT onclick="mmm/b2.htm" type=checkbox value=" * "></TD> выдает: "Error on page" Такой же месседж я получаю, если оставляю сгруженный файл без изменения, хотя в этом случае этот линк (см. 1-й пост), вроде бы, должен открывать файл aaaaa/b2.htm на сервере :confused: Икскьюз ми за такие подробности - просто хотелось избежать лишних вопросов и поскорее решить эту проблему :help: |
ты просто не спустил файл с javascript. поищи в коде DDD/aaa2.htm строку типа <script language="Javascript" src="file.js">. Этот file.js тебе и надо спустить и положить в нужную директорию
|
2 joker99
Спасибо за ответ. В файле DDD/aaa2.htm есть только один скрипт: <SCRIPT> <!-- begin brName = navigator.appName; brVer = parseInt(navigator.appVersion); if (brName == "Netscape" && brVer >= 3) VER = "N3"; else VER = "?"; var HW=""; function OW1(adr) { if (brName == "Netscape") window.open(adr); else window.open(adr,"ORD1"); } function OW2(adr) { HW = window.open(adr,'ORD2','scrollbars=1,resizable=0,width=210,height=250' ); HW.focus(); } // end --> </SCRIPT> Но в нем нет строки типа: <script language="Javascript" src="file.js"> Среди сгруженных с сервера файлов (IE6-->Save as) также нет файла типа file.js. Зато в этом скрипте есть функция function OW2(adr). Что она делает и как ее нужно изменить, я не знаю. Плиз :help: :help: |
Sartam
Ну теперь это просто. Функция window.open открывает новое окно с адресом adr. Попробуй так : Код:
<TD vAlign=top width="1%"><INPUT |
2 rontommy
Цитата:
и вылазит месседж: \\mmm\b2.htm is not accessible. You me not permission to use this network resource. ... Network path was not found Хотя вызывающий файл (DDD/aaa2.htm ) находится в той же дир., что и сабдирект., содержащая вызываемый файл - DDD/mmm/b2.htm. :help: |
Sartam
Я написал OW2('file://DDD/mmm/b2.htm') а не OW2('file://mmm/b2.htm'). Если тебе надо использовать жестко определенный адрес, копируешь полный адрес aaa2.htm из строки IE, меняешь aaa2.htm на mmm/b2.htm и вставляешь как аргумент функции OW2. Если же нужно то же самое динамически, надо воспользоваться window.location, вырезать из него имя файла, заменить на новое и подставить как аргумент функции OW2. |
Sartam
надо бы полный путь написать... и три косые черты.. вместо двух. то есть file:///c:/dir/subrir1/subdir2/.../DDD/mmm/b2.htm |
Цитата:
Цитата:
|
hempsmoke
Твое право первенства на решение никто не оспаривает :yees: |
2 @_is_absent & hempsmoke & rontommy
Всем спасибо за старания, но... решение пока не найдено :blin: И file:// и file:/// а также абсолютный путь дают ошибку. Наилучший результат дал вариант file://mmm/b2.htm. Здесь хотя бы открывается маленькое окошко, но... за файлом b2.htm лезет зачем-то в сеть. Что касается абсолютного пути, то даже, если бы получилось, меня это не очень бы устроило - я не хочу привязывать весь пакет к абсолютному месту. В то же время относительный путь в живом файле на сервере (см. в начале) работает. Там штук 50 таких блоков и при клике на любом из чек-боксов выпадает мелкий попап, как и предполагал hempsmoke. Так что я все там же :crucify: Прошу не покидать меня :help: :help: :help: Я на несколько часов должен отлучиться - иксьюз ми. |
Sartam
В сеть он лезет абсолютно правильно :) поскольку браузер считает, что mmm -- это имя машины с сети. а чтобы не сильно привязываться к локальному каталогу заведи в js переменную path и запиши в нее путь к той папочке, куда тебе нужно ссылаться. function OW2(adr) { var path = 'C:/temp/'; HW = window. open('file:///' + path + adr,'ORD2','scrollbars=1,resizable=0,width=21 0,height=250'); HW.focus(); } и вызывать эту функцию как OW2('mmm/b2.htm'); должно работать |
2 @_is_absent
Я попробовал сделать, как ты написал - изменил функцию: function OW2(adr) { var path = 'C:/temp/'; HW = window.open('file:///' + path + adr,'ORD2','scrollbars=1,resizable=0,width=210,height=250'); HW.focus(); Эта функция находится внутри скрипта, кот. в свою очередь находится внутри файла DDD/aaa2.htm (см. мои первые ответы тебе и joker99). Но... результат тот же - Error on page. :( |
Sartam
а ты ошибку читал? скорее всего access denied... надо с правами чего-то делать. или искать другой выход Добавлено через 2 минуты: если запускать такой же скрипт локально с машины, то все работает. если же ты будешь его же запускать c сервера (пусть это даже таже самая машина) будет валиться ошибка "Access denied" |
rontommy
:) просто я думал это всё из-за невнимательного прочтения... Добавлено через 19 минут: забыл: ;) в html коде в документе нигде не встречается тэг <base href="">? |
2 ALL, кто помогал и кому это интересно
1. Очень долго не мог пробиться на этот форум, чтобы ответить 2. Совсем начал терять надежду найти решение проблемы 3. В сообщении об ошибке не было access denied. В строке состояния (в самом низу окна IE) при клике на чекбоксе появляется Error on page и маленький желтый треугольник с восклицательным знаком и остаются там пока стрелка мыши остается на чекбоксе. Если сдвинуть стрелку с чекбокса появляется Done (треугольник ! остается). 4. В html коде в документе нигде не встречается слово base. Там также нет абсолютных линков на другие страницы сайта (которые меня интересуют) - все относительные. 5. Кстати - что обозначает 'ORD2' в теле функции (см. выше)? 6. Появился проблеск и, пожалуй, РЕШЕНИЕ (последнее добавил позже): При вызове из интернета файла http://kkk.ru/aaa.htm в Temporary Internet Files создается файл aaa[1].htm, имеющий размер примерно 70% от файла aaa.htm и содержащий все относительные линки. При открытии его в IE на месте, где он лежит, относительные линки пытаются вызывают страницы сайта, преобразуясь в линки типа - file:///C:\Documents and Settings\S_A\Local Settings\Temporary Internet Files\Content.IE5\WX49QNK5\kkk.ru\aaa.htm При клике на чекбоксе открывается небольшой попап с заголовком - Cannot find server... Переношу файл aaa[1].htm в мою рабочую дир. C:\DDD\mmm. При клике на чекбоксе создается и срабатывает локальный линк: file:///C:\DDD\mmm\aaaaa\b2.htm - И... ... в попап окошке открывается нужный файл - C:\DDD\mmm\aaaaa/b2.htm :dance: :dance: :dance: 7. Сравнением файлов aaa[1].htm и aaa2.htm займусь чуть позже, когда появится время. ВСЕМ СПАСИБО!!! Ответы (комментарии) можно (и желательно) добавлять. |
Цитата:
Если окно с таким именем уже существует, то оно и будет использовано, а новое окно не открывается и все последующие параметры (высота, ширина и т.д.) игнорируются. |
2 rontommy
Спасибо! Правда, мне не совсем ясно... Сразу после скрипта стоит строка: <FORM METHOD=GET> а имя попап-окна, по-моему, берется из тэга title файла вызываемого файла. |
Sartam
Цитата:
Цитата:
|
2 Ghost
Цитата:
Так для чего оно нужно и какую нагрузку несет? - Извини меня, я действательно темный в HTML и, особенно, в JAVA. |
Sartam
Цитата:
Можешь попробовать такую штуку: сделать на странице две ссылки для создания одноименных попап-окон, но с разным содержимым. Щелчок по первой приведет к появлению окна и загрузки в него одной страницы, щелчок по второй - загрузку в уже имеющееся попап-окно другой страницы. Добавлено через 5 минут: Вот пример: (создай сперва два любых файла с именами 1.html и 2.html; создай файл popup.html с кодом, приведенным ниже, и запусти его; note: все файлы должны находиться в одной папке): Код:
<HTML> |
Ghost
Молодец, хорошо объсняешь, только уточню, что 'java script' есть одно слово, без пробела - 'javascript'. |
rontommy
Цитата:
|
Цитата:
Уточнил для тех кто может не знать или не обратить внимания и скопировать мышкой к себе в код. Впрочем, и без 'javascript:' будет работать. |
2 ALL
Спасибо, ребята! Еще немного и вы вырастите нового гуру в моем лице. :winkgrin: |
Sartam
Цитата:
Кстати, залезь на WebHolm.ru - Холм Web-мастера. Там не очень много статей по HTML и JS, но они очень просты и доступны для понимания. Удачи. |
2 Ghost
Спасибо за линк! Будем подковываться. |
| Часовой пояс GMT +4, время: 11:26. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.