在iframe上运行javascript函数(execCommand('SaveAs'..)

时间:2012-01-17 14:42:09

标签: javascript jquery xml iframe

<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">

    $(function(){

        $('#myiframe')[0].document.execCommand('SaveAs',false,'somexml.xml');

    });

</script>
</head>
<body>
<iframe id="myiframe" src="somexml.xml" frameborder="0"></iframe>
</body>
</html>

我知道execCommand仅适用于IE,但我不能让它工作。我想要的只是一个&#34;另存为&#34;对话框,保存iframe内容。所以我想在iframe中运行该函数,而不是在&#34; main&#34;页。

由于

1 个答案:

答案 0 :(得分:2)

试试这个:

var oIframe = $('#myiframe')[0];
var oDoc = oIframe.contentWindow || oIframe.contentDocument;
if (oDoc.document) {
    oDoc = oDoc.document;
}
oDoc.execCommand('SaveAs',false,'somexml.xml'); // this line will work only in IE

请参阅此链接以正确获取iframe的文档对象:http://xkr.us/articles/dom/iframe-document/