Почему мой вызов из Flash в Javascript терпит неудачу в IE9? - PullRequest
5 голосов
/ 19 ноября 2011

У меня есть пара кнопок в моем приложении Flash, которые вызывают две разные функции JavaScript.Они работают во всех браузерах, кроме IE9 (я не пробовал ранее IE).Мой код для вызова функции выглядит примерно так:

ExternalInterface.call(
        "myLovelyFunction",
        string1, string2);

, а код в JS выглядит следующим образом:

function myLovelyFunction(string1, string2) {
    window.open('https://twitter.com/share?url=http%3A%2F%2Fwww.mysite.com%2Fapage.php&via=atwitteraccount&text=Some%20text%22&related=atwitteraccount',
    'windowname',
    'height=290,width=510');
}

В IE9 функция абсолютно ничего не делает, кромеконсоль жалуется:

SCRIPT438: Object doesn't support property or method 'SetReturnValue' 
index.php, line 1 character 1

строка 1, символ 1 явно указывает ни на что конкретно.

Я могу заставить его работать нормально, включив представление совместимости, хотя консольная ошибка не 'не уходи.

Есть ли что-то в IE9, что вызывает это, и, что более важно, как это исправить?

Ответы [ 2 ]

6 голосов
/ 15 марта 2012

У меня тоже была такая же проблема.Я использовал следующий код:

    <object type="application/x-shockwave-flash" data="/files/banners/64/64_300x250.swf" width="300" height="250">
      <param name="movie" value="/files/banners/64/64_300x250.swf"/>
      <param name="wmode" value="transparent"/>
    </object>

Я просто встраиваю флешку с обычным тегом объекта (без SWFObject и без отступления встраивания).Мой флэш-файл вызывает функцию JS window.open через ExternalInterface следующим образом:

ExternalInterface.call("window.open", url, target, features);

Что не сработало: Ссылка выше предлагает изменить его на «document.open», чтоне работал.Также попытка заставить страницу отображаться в режиме IE-8 не сработала.Например:

<meta http-equiv="X-UA-Compatible" content="IE=8" />

Что сработало: Простое добавление «имени» и «идентификатора» к тегу объекта решило проблему.Например:

<object type="application/x-shockwave-flash" data="/files/banners/64/64_300x250.swf" width="300" height="250" name="flash_object" id="flash_object">
1 голос
/ 27 декабря 2011

Была абсолютно та же проблема, ссылка ниже помогла решить ее.

http://msdn.microsoft.com/en-us/library/gg622942%28v=VS.85%29.aspx

...