我一直在试图解决这个问题......
我有一个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/