Просмотр полной версии : глюк JavaScript?
Помогите пожалуйста!!!
Этот код работает через раз:
getURL("javascript:window.open('xxx.php','','width=1,height=1,menubar=0,scrollbars=0'); void(0);");
Как быть?:yahoo:
Для начала описать проблему более полно. Где не работает (браузер, локалка/сеть), с чем не работает (версия плеера), ну и тд.
Опытным путем выяснил, что проблема не в Яве.
Ситуация такая: при getURL("http://www.siteru/download.php?file=mp3.mp3", "_self"); флешка запрашивает файл download.php, который выдает файл mp3.mp3 на скачку.
Содержимое download.php:
<?
$file = $_GET['file'];
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=$file");
header("Content-Length: ".filesize($file));
header("Content-Transfer-Encoding: binary");
readfile($file);
?>
Судя по всему проблемка в этом, так как после такого никакой поп-ап по методу getURL("javascript: window.open...") уже не откроется, выходит или ошибка или просто нич не происходит.
Что делается не так? Судя по всему проблема в php файле...
Помогите.
http://www.flasher.ru/forum/showthread.php?t=92951
http://www.flasher.ru/forum/showthread.php?t=92951
Так я же гружу файлы через этот download.php с этого же сервера, иногда даже из этой же папки где и сама флешка находится.
Я так понимаю, что для такой ситуации необязательно прописывать allowDomain?
Самое интересное, что через fscommand все работает безотказно, но её я использовать не буду.
Как быть? :boredom:
Судя по тексту, вы не очень понимаете, о чем говорите.
Возможно я неправильно описал ситуацию...
Попробую еще раз:
1) все действия происходят на одном URL
2) есть флешка, файл mp3, скрипт download.php (содержание которого приведено выше)
3) во флешке есть кнопка которая вызывает попап окно на страницу с ЭТОГО ЖЕ домена через getURL("javascript: window.open...")
все работает отлично, но...
4) если нажать на другую кнопку, которая ведет по getURL на download.php?file=1.mp3 (файл mp3 находится в одной и тойже директории на сервере, что и флешка и download.php) произойдет предложение пользователю скачать файл MP3.
5) далее если уже нажать на 1-ю кнопку, которая вызывает попап окно, то уже ничего не происходит и окно не вылезает... а в 7 ИЕ вообще говорится о неизвестной ошибке...
Как быть в такой ситуации...
Самое интересное, что если производить вызов попапа через fscommand, то никаких проблем не возикает...
Заранее всем спасибо за ответы
Если кого-то заинтересует эта ситуация, то могу в личку кинуть ссылку на проект, где эта проблема актуальна. :-)
А может все дело в кеше?
P.S. не по теме: disignerdisigner - можно звук отдельно подгружать, замучился ждать!
P.P.S. пожеланице: тему не подмывай, а то плюсик дадут.
А может все дело в кеше?
P.S. не по теме: disignerdisigner - можно звук отдельно подгружать, замучился ждать!
P.P.S. пожеланице: тему не подмывай, а то плюсик дадут.
Звук подгружать отдельно не будем - композиция испортится :victory:
про какие плюсики идет речь?
Вот сварганил пример, посмотрите господа знатоки:
http://www.designerdesigner.ru/test/popup/
Хм, это косяк ИЕ, в Опере и ФФ все работает (у меня по крайней мере)
У меня тоже причем и в 6-й и в 7-й версии, я вот ниче понять и не могу...
Обычно ведь наоборот бывает...
Ребят, что никто не знает в чем дело? :quiet:
А почему у меня второй раз открывается снова яндекс?
И, видимо, нужно убрать void(0); иkb _self.
з.Ы. Темы у нас не поднимают.
А почему у меня второй раз открывается снова яндекс?
а в каком браузере Вы смотрите?
И, видимо, нужно убрать void(0); иkb _self.
Если убрать void(0); - то будет ошибка - посмотрите пример по ссылке указанной выше сного, я его обновил.
Если убрать _self - ничего не изменится...
В IE не пашет. Я говорю, что в коде надо попробовать убрать void(0); и _self.
см сообщение выше, дополнил
Значит это исключительно баг IE. Нужно попробовать вызывать функцию из JS, открывающую окно и проверять, создано окно или нет.
если вызывать через fscommand, т.е. функцию вызова будет вписана с страницу через JS - никаких проблем не возникает...
Просто помоему не все браузеры во всех своих версиях нормально тянут fscommand, с оперой проблемы были версии в 6,7 - непомню...
Просто неясен один факт: если это баг IE, то почему никто никогда раньше этого не понял? Неужели никто попап окна из флеша не вызывает?
А вызвать javascript:myFunction() совесть не позволяет?
Пробовал - без разницы...
Посмотри пример, обновил как ты сказал.
И чего теперь делать? :-)
Ну, попробуй ExternalInterface.call("myFunction", "arguments");
Попробуй имя окна написать, а не пустую строчку ( в window.open()второй параметр )
А по-хорошему, открывашку лучше в html пихать, а из флеша ее вызывать.
_self и void тоже не нужны.
Попробуй имя окна написать, а не пустую строчку ( в window.open()второй параметр )
Попробовал - та же фигня...
Через fscommand, когда функция описана в html, то все работает, но не хочется её использовать.
Ну, попробуй ExternalInterface.call("myFunction", "arguments");
Работает, только вот это в 8-ке только, да и этот метод поддерживатся только одними из самых последних версий браузеров.
Но все равно спасибо. :victory:
Не проверял, но хелп утверждает, что http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_14192#methods вот так оно работает... ну и ессно, в восьмерке, тут уж ничего не поделаешь
Еще такой вариант..Вы в <script> language или type не пробовали указывать? И комментами обрамлять, как водится?
<script type="text/javascript">
<!--
// код
// -->
</script>
http://noregret.org/tutor/navigation/
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.