Запустите функцию JavaScript (execCommand ('SaveAs' ..)) в iframe - PullRequest
0 голосов
/ 17 января 2012
<!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, но я не могу заставить это работать. Все, что я хочу, это диалоговое окно «Сохранить как» с сохраненным содержимым iframe. Поэтому я хочу запустить функцию в iframe, а не на главной странице.

Спасибо

1 Ответ

2 голосов
/ 17 января 2012

Попробуйте это:

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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...