0
私は他の質問を検索し、提案を試みましたが、回答が必要なように機能していないようです。jQueryを使用してIframeからhtmlを取得
私はデータベーステーブルからメールを取り出し、iframe内のメールの本文を表示しています。私はその後、javascriptファイル内の電子メールの本文のhtmlを取得する必要があります。私が試してみました
コード:
var body = $('#email-body').contents().find('html').html();
RETURNS: <head></head><body></body>
var body = '<?php echo $email->body;?>';
RETURNS: Invalid or unexpected token
(most likely due to the linebreaks the HTML has within it.)
最初のオプションは動作するはずのように思えるが、要求されたとして、それは完全な内容に引っ張っていません。コメント1として
--EDIT--
、私は次の試み:
var iframe = document.getElementById('email-body');
var iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
var body;
if (iframeDocument) {
body = iframeDocument.documentElement.outerHTML;
}
RETURNS: <html><head></head><body></body></html>
- EDIT 2 -
Iフレームがように移入され:
<iframe id="email-body" src="/api/emails/email/{{{ $email->id }}}/body" onload="resizeIframe(this)"></iframe>
私がこれをテストしているメール:
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
</head>
<body>
<h2>Testing</h2>
<div>And again.</div>
</body>
</html>
は見http://stackoverflow.com/questions/926916/how-to-get-the-bodys-content-of-an-iframe-in-javascript –
あなたは(.find '削除するとどうなりますか'html') '... body 'に変更することもできます(' html ')。 var body = $( '#email-body')。contents()。find( 'body')。html(); –
@JaromandaXこれは以下を返します。Uncaught TypeError:ボディの代わりにnullを返すか、または何も返さない。 – user2759865