Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.01.2010, 19:59
djyamato вне форума Посмотреть профиль Отправить личное сообщение для djyamato Посетить домашнюю страницу djyamato Найти все сообщения от djyamato
  № 1  
Ответить с цитированием
djyamato
 
Аватар для djyamato

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
По умолчанию getURL('javascript') - срабатывает некорректно яваскрипт

Здравствуйте
Есть яваскрипт который открывает неблокируемый попап
если на странице создать ссылку при нажатии на которую запускается этот скрипт - все отлично - попап открывается а вот если из флэша использовать getURL - блокируется попап

P.S. скрипт взял отсюда http://www.htmlweb.ru/java/js.php

код флэшки
Код AS1/AS2:
BTN.onPress=function(){
	getURL('javascript:InWin("cookie.php");');
}
Код страницы
Код:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=koi8-r" />
<title>getURL</title>
<script type="text/javascript" src="js/code.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="livejasmin.js"></script> 
<script type="text/javascript" src="js.js"></script> 
</head>
<body bgcolor="#ffffff">
<A Href="cookie.php" onclick='alert("this="+this);return InWin(this);' title="Пример использования Cookie на Java Script"><P class=ex>ОТСЮДА СРАБАТЫВАЕТ !!!</A>
<!--url's used in the movie-->
<!--text used in the movie-->
<!-- saved from url=(0013)about:internet -->
<div style="z-index: -1; width:520px; float:left; border-top:1px solid white; border-right:1px solid white; border-left:1px solid white;">
	<object width="520" height="420" style="position:relative; z-index:1;">
		<param name="movie" value="getURL.swf">
		<embed src="getURL.swf" wmode="opaque" style="position:relative;" width="520" height="420" flashvars="file=instrument.flv"></embed>
	</object>	
</div>
</body>
</html>
Вложения
Тип файла: rar js.rar (5.8 Кб, 38 просмотров)


Последний раз редактировалось djyamato; 15.01.2010 в 20:15.
Старый 15.01.2010, 20:15
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 2  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Используйте SWFObject для вставки флэшки на страницу.
Используйте ExternalInterface для работы с яваскриптом.

Код AS1/AS2:
import flash.external.*
BTN.onPress=function(){
	ExternalInterface.call("InWin", "cookie.php");
}
Тестируйте не локально.
__________________
hauts.ru


Последний раз редактировалось Hauts; 15.01.2010 в 20:17.
Старый 15.01.2010, 20:44
djyamato вне форума Посмотреть профиль Отправить личное сообщение для djyamato Посетить домашнюю страницу djyamato Найти все сообщения от djyamato
  № 3  
Ответить с цитированием
djyamato
 
Аватар для djyamato

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
Цитата:
Сообщение от Hauts Посмотреть сообщение
Используйте SWFObject для вставки флэшки на страницу.
Используйте ExternalInterface для работы с яваскриптом.

Код AS1/AS2:
import flash.external.*
BTN.onPress=function(){
	ExternalInterface.call("InWin", "cookie.php");
}
Тестируйте не локально.
Спасибо но пока все это не помогло.

Кстати - подскажите пожалуйста способ для AS3 - тоже ExternalInterface ?
И еще вопрос: в ДЕНВЕРЕ я могу тестировать считая что это не локально ?

Старый 15.01.2010, 20:52
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 4  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Насчет ас3 — не знаю, если честно.
Денвер — да, сойдет.

Сообразил. У вас там должен объект передаваться, со свойством href. А вы пытались просто строчку передать. Попробуйте так:
Код AS1/AS2:
import flash.external.*
BTN.onPress=function(){
	ExternalInterface.call("InWin", {href:"cookie.php"});
}
Или допишите в js.js функцию:
Код:
function InWinFromFlash(a){
    return InWin({href:a});
}
И вызывайте ее, как я написал в прошлом сообщении.
__________________
hauts.ru


Последний раз редактировалось Hauts; 15.01.2010 в 21:00.
Старый 16.01.2010, 01:10
djyamato вне форума Посмотреть профиль Отправить личное сообщение для djyamato Посетить домашнюю страницу djyamato Найти все сообщения от djyamato
  № 5  
Ответить с цитированием
djyamato
 
Аватар для djyamato

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
Не работает
К сожалению блокируются попапы вызванные из флэшки в ИЕ8
вот ссылка http://divisionby0.org/web_Portfolio...S3/getURL.html

добавил трассировку значений в код яваскрипта и в зависимости от способа запуска (нажатие на ссылку или вызов из флэша) разные значения

Код:
function InWin(a){
alert('a='+a+"  a.href="+a.href);
if (a.href) a=a.href;
alert('making window');
jtop=window.open(a,'Пример', 'height=768,width=1024,location=no,toolbar=no,directories=no,menubar=no,status=yes,scrollbars=1,resizable=yes');
jtop.focus();
jtop.name='example';

return false;
}
function InWinFromFlash(a){
    return InWin({href:a});
}

во флэше
Код AS1/AS2:
ExternalInterface.call("InWinFromFlash", "http://divisionby0.org/web_Portfolio/siddartha/AS3/cookie.php");
/////////////////////////////////
------------------------------------------------------------------------------------------------------------

Вот я думаю в чем причина- если нажать на кнопку которая уже есть на стэйдже то даже такой скрипт сработает
Код:
<script>
   var openPopup = function (img) {
     window.open(img, "picture", "menubar=0,resizable=1,width=680,height=790");
   }
 </script>
если вот так его из флэша запустить
Код AS1/AS2:
b.onRelease = function () {    
     // если публикуется под флэш ниже восьмой версии, или под АС1 - оставить только getURL
     if (ExternalInterface.available) {
          ExternalInterface.call("openPopup", "testPage.html");
     } else {
		 var Page='testPage.html';
         getURL("javascript:openPopup('"+Page+"');void(null);");
     }
}

И в ИЕ8 и в ФФ3 попап окно не блокируется

а вот если эту же кнопку/мувик изначально не иметь а аттачить ее из библитеки то ИЕ8 блокирует попап


Последний раз редактировалось djyamato; 16.01.2010 в 03:28.
Создать новую тему Ответ Часовой пояс GMT +4, время: 06:52.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 06:52.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.