javascript - Flex - 调用 JavaScript 函数并打开显示数据的弹出窗口

标签 javascript html flash apache-flex externalinterface

我一直在试图解决这个问题......

我有一个Flex(Flash)应用程序,我被称为JavaScript函数并传入数据:

if (ExternalInterface.available)
ExternalInterface.call("jsFunctionToCalled", passingSomeData);

在我的index.template.html文件中,我创建了JS函数:

<script type="text/javascript">
function jsFunctionToCalled(value) {
window.alert(value);
}
</script>  

当我单击 Flex 中的按钮组件时,会弹出 JS 警报窗口。效果很好;但是,我想打开一个浏览器窗口,在其中可以访问“文件/打印”选项。我需要打开这个新的浏览器窗口并解析值对象中的数据。值对象是 HTML 格式数据的字符串。所以我需要在新的弹出窗口上显示该数据。我在想也许我需要做这样的事情,有人在某处发布过,但什么也没弹出。我也尝试过 window.opener 但没有弹出任何内容。如果我提供一个 URL,它会很好地打开该 URL,但我不想打开一个 URL,我想打开一个可以打印的新窗口,并使用 HTML 数据填充该窗口。

<script>
function openWin()
{
myWindow=window.open('','','width=200,height=100');
myWindow.document.write("This is 'myWindow'!");
myWindow.focus();
myWindow.opener.document.write("<p>This is the source window!</p>");
}
</script>

任何帮助将不胜感激。我正在尝试找到一种无需先保存文件(CRAPPY FLASH)即可进行打印的方法,并且我没有网络服务器来保存我的文件,以避免先保存文件。

谢谢

最佳答案

我发现了这一点,并认为我会将其分享给遇到此问题的其他人:

在我的 Flex 代码中:

if (ExternalInterface.available)
            {
                try
                {
                    ExternalInterface.call("onPrintRequest", dataToPass);
                }
                catch (error:SecurityError)
                {
                    Alert.show("Printing Security Error");
                }
                catch (error:Error)
                {
                    Alert.show("Printing Error");
                }
            }
            else
            {
                Alert.show("Printing currently unavailable");
            }

在我的index.template.html中我添加了这个JS方法:

 <script type="text/javascript">
            function onPrintRequest(value) {
                var w = window.open("about:blank");
                w.document.write(value);
                w.document.close();
                w.focus();
                w.print();
            }
        </script>

工作起来就像一个魅力!!!

关于javascript - Flex - 调用 JavaScript 函数并打开显示数据的弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16927931/

相关文章:

javascript - 在 JQuery 中,如何将 HTML 排除在 JavaScript 之外?

javascript - 如何在 jQuery 运行时更改图像

javascript - 如何在编号列表中引用特定元素编号?

apache-flex - 是否可以在 Flash Builder bin-debug 中嵌套文件夹

javascript - 无法从 Flash AS2 调用 javascript

javascript - 如何通过命令行获取用户输入?

javascript - fs.readFileSync 有时仅在特定情况下返回有效字符串

php - 从html到mysql数据库的基本输入

jquery - 彩色盒图像显示不工作

flash - 在Actionscript中播放MXML SoundEffect