![]() |
|
||||||||||
|
|||||
var request:URLRequest = new URLRequest(); request.url = Common.HomeDir + "vssscr.php"; request.method = URLRequestMethod.POST; var variables:URLVariables = new URLVariables(); request.data = variables; if (SId != null && SId.SessionId != "0") request.data["session_id"] = SId.SessionId; navigateToURL(request, "_blank");
__________________
interplanety |
|
|||||
|
Регистрация: Jan 2013
Сообщений: 322
|
Цитата:
|
|
|||||
|
Тоже самое, в хроме - в новом окне открывается а не во вкладке.
__________________
interplanety |
|
|||||
|
Регистрация: Jan 2013
Сообщений: 322
|
Korchy, в хроме будет открываться если вторым аргументом будет любая лабуда. если запускается локально, то какая именно лабуда - не важно, потому что:
Цитата:
сори, в других браузерах нет возможности тестить. |
|
|||||
|
nubideus
Без разницы, на локальном компьютере или когда выкладываю на сайт - одинаково. Хром открывает новое окно, а не вкладку. Добавлено через 3 часа 9 минут Попробовал через ExternalInterface вызвать - открывает в хроме в новой вкладке, как и должно быть. Странно.
__________________
interplanety Последний раз редактировалось Korchy; 19.06.2014 в 12:28. |
|
|||||
|
Регистрация: Jan 2013
Сообщений: 322
|
Цитата:
Цитата:
|
|
|||||
|
Как раз это нормально. С момента появления вкладок в браузерах _blank открывает новую вкладку а не окно. Попробуйте для эксперимента простою хтмл-ку выполнить с
страница page.html откроется в новой вкладке а не окне. Вот и от NavigateToURL я такого же поведения ожидал, а в хроме и опере почему-то окно Может быть это как-то с механизмом блокировки всплывающих окон связано, но пока решение только через ExternalInterface работает у меня правильно.
__________________
interplanety |
|
|||||
|
В ходе экспериментов сделал такой класс. В Chrome, IE и Firefox открывается в новой вкладке. С Оперой решения так и не нашел, она все время открывает новое окно
Пробовал варианты с вызовом javascript-функции, в которой уже вызывал window.open и вариант, где в js-функции открывал новую вкладку через submit для формы с target=_blank : ничего не срабатывает. Если вызываю эту javascript функцию из html-страницы - опера открывает в новой вкладке, если через ExternalInterface - опера лупит новое окно ![]() package Nn.System { //----------------------------------------------------------------------------------------------------- import flash.external.ExternalInterface; import flash.net.navigateToURL; import flash.net.URLRequest; import flash.net.URLRequestMethod; import flash.net.URLVariables; //----------------------------------------------------------------------------------------------------- public class ExternalTab { // Виды браузеров public static const BROWSER_UNAVAILABLE:uint = 0; public static const BROWSER_OTHER:uint = 1; public static const BROWSER_IE:uint = 2; public static const BROWSER_CHROME:uint = 3; public static const BROWSER_FIREFOX:uint = 4; public static const BROWSER_OPERA:uint = 5; //----------------------------------------------------------------------------------------------------- public function ExternalTab() { } //----------------------------------------------------------------------------------------------------- public function OpenNewTab(Script:String):Boolean { // Открытие новой вкладки и выполнение в ней скрипта Script if (ExternalInterface.available) { switch (BrowserName()) { case BROWSER_IE: // Для IE - через navigateToURL CallNavigateToUrl(Script); break; case BROWSER_OPERA: // Для OPERA - через navigateToURL CallNavigateToUrl(Script); break; default: // Для остальных - через ExternalInterface CallExternalInterface(Script); break; } return true; } return false; } //----------------------------------------------------------------------------------------------------- public function BrowserName():uint { // Возвращает браузер пользователя if (ExternalInterface.available) { var Rez:String = (ExternalInterface.call("function (){return navigator.userAgent;}")).toUpperCase(); if (Rez != null && Rez.indexOf("MSIE")>=0) return BROWSER_IE; else if (Rez != null && Rez.indexOf("CHROME") >= 0) { if(Rez.indexOf("OPR/")>=0) return BROWSER_OPERA; else return BROWSER_CHROME; } else if (Rez != null && Rez.indexOf("FIREFOX")>=0) return BROWSER_FIREFOX; else if (Rez != null && Rez.indexOf("OPERA")>=0) return BROWSER_OPERA; else return BROWSER_OTHER; } else return BROWSER_UNAVAILABLE; } //----------------------------------------------------------------------------------------------------- private function CallNavigateToUrl(Script:String):void { // Вызов через NavigateToURL var Request:URLRequest = new URLRequest(); Request.url = Script; Request.method = URLRequestMethod.POST; var Variables:URLVariables = new URLVariables(); Request.data = Variables; navigateToURL(Request, "_blank"); } //----------------------------------------------------------------------------------------------------- private function CallExternalInterface(Script:String):void { // Вызов через ExternalInterface ExternalInterface.call("window.open", Script, "_blank"); } } }
__________________
interplanety |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:55. |
|
|
« Предыдущая тема | Следующая тема » |
|
|