0
WebArchiveをWebViewから作成しようとしています。私はそれを働かせましたが、編集したコンテンツを試してみると問題が見つかりました。WebArchive webView編集可能なコンテンツにどのように保存しますか?
[webView setEditable:YES];
WebDataSource *dataSource = [[webView mainFrame] dataSource];
WebArchive *archive = [[WebArchive alloc]
initWithMainResource:[dataSource mainResource]
subresources:nil
subframeArchives:nil];
[[archive data] writeToFile:destinationPath atomically:YES];
[[webView mainFrame]
loadRequest:[NSURLRequest
requestWithURL:
[NSURL fileURLWithPath:destinationPath]
]];
私はWebViewの中にコンテンツに加えた編集がWebArchiveには格納されません。これは私が現在やっているものです。これを行うには、元のファイルに変更をコミットする必要がありますか?私はそれをWebViewにあるコンテンツに基づいて保存したいと思います。どんな助けもありがとう。ありがとう!
これは私がやっていることです。ここでOKです(つまり、writeToFile:atomically :)。 webarchiveのコンテンツをwebviewに読み込む際に何か問題があると思います。 destinationPathで作成したファイルが、編集したファイルであるかどうかを確認できますか? –
私は実際にWebViewにHTMLファイル(input.html)をロードして、それをWebArchive(output.webarchive)に保存しようとしています。保存は機能しますが、元のファイルからWebArchiveを作成しているように見え、変更は無視されます。私が変更を言うと、私は[webView setEditable:YES]を設定してからテキストを削除または追加した後、WebArchiveを保存します。変更しても出力に反映されません。それはあなたが働いていると言いますか? – David
[dataSource mainResource]は、 "データソースを表すWebリソースを返します。返される内容は、ダウンロードした元のデータに基づいており、WebArchiveメソッドを使用する代わりに、返された値を使用してWebArchiveオブジェクトを作成できます。アップルリファレンスライブラリ(hhttp://developer.apple.com/library/mac/documentation/cocoa/Reference/WebKit/Classes/WebDataSource_Class/Reference/Reference.html)によると、この時点で、WebViewからソースDOMを取得し、WebArchiveを作成してWebDataSourceを作成する方法が必要だと思います。どのようにそれを行うにはどのような考え? – David