Возможно, вы все знаете о проблеме, с которой GoogleChrome и Safari используют navigatetoURL. Он работает только в IE. Таким образом, я собрал следующий код с форума. Код - это место функции javascript в файле html. Тогда в Flex есть еще одна функция, которая вызывается при нажатии кнопки. Часть кода здесь:altervative to navigatetoURL в Flex 4.5 - не работает
variables.pmsg1 = xml_langue.msg1;
variables.pmsg2 = xml_langue.msg2;
variables.pmsg3 = xml_langue.msg3;
variables.pmsg4 = xml_langue.msg4;
variables.ppaytomode = parentApp.PAYTOMODE;
var request:URLRequest = new URLRequest(dir_web);
request.data = variables;
request.method = "GET";
//navigateToURL(request,"_blank");
postXMLPageRequest(variables, request.toString(), '_blank'); // HERE I AM CALLING THE FLEX FUNCTION
флекс ФУНКЦИЯ НИЖЕ:
общественная функция postXMLPageRequest (данные: Object, PAGEURL: String, окно: String = NULL): аннулируются { если (ExternalInterface & & ExternalInterface.available) ExternalInterface.call ("postXMLPageRequest", pageURL, data.encode(). ToString(), window); }
ФУНКЦИЯ JAVASCRIPT (находится в файле HTML) НИЖЕ:
функция postXMLPageRequest (URL, xmlString, цель, метод) { метод = Метод || "ПОСЛЕ"; target = target || "_blank";
<% -------------------------------------------- --------------%> <% - Создайте элемент формы с указанными атрибутами. -%> <% ------------------------------------------- ---------------%> var form = document.createElement ("form"); form.setAttribute («действие», url); form.setAttribute («метод», метод); form.setAttribute («цель», цель); form.setAttribute ("ENCTYPE", "text/plain"); form.setAttribute ("style", "display: none");
<% -------------------------------------------- ------------------------%> <% - Добавить XML-строку в качестве значения для скрытого ввода в форму. -%> <% ------------------------------------------- -------------------------%> var hiddenField = document.createElement ("input"); hiddenField.setAttribute («тип», «скрытый»); hiddenField.setAttribute ("название", «» + xmlString); form.appendChild (скрытое);
<% --------------------- --------------------%> <% - добавьте форму на тело, отправьте ее -%> <% - затем удалите форму из корпус -%> <% ---------------------------------------- -% не> document.body.appendChild (форма); form.submit(); document.body.removeChild (форма); }
Однако ничто в выполняется, когда я нажимаю кнопку, которая вызывает функцию postXMLPageRequest> CAn кто-нибудь мне поможет?
Большое спасибо.