7

これがすでに回答されている場合は、事前にお詫び申し上げます。数時間グーグルで検索しましたが、正確な質問に答えていると思われるものはまだ見つかりません.

基本的に、データベースから取得したユーザー固有のデータを表示する、非常に複雑で高度にスタイル設定されたビューがあります。データを JSON オブジェクトとしてキャプチャし、.data() を使用してページの本文に添付しました。JSON オブジェクトを取得し、印刷用のページを新しいウィンドウで開くボタンを追加しました。この新しいウィンドウ内からユーザー固有の JSON オブジェクトにアクセス/操作できるようにしたいと考えています。(これはすべて同じドメイン上にあります。)

私が見た解決策のほとんどは、新しい空白のウィンドウを開くことに集中しているようです。私はそれをしたくありません。ページのレイアウトをコーディングしました。JavaScript/css も実行する予定です。新しいウィンドウを開いてから document.write を使用するソリューションを見たことがありますが、新しいページの特定の要素をターゲットにする方法があれば、これは素晴らしいことです。たとえば、次のことを試しました。

x = window.open(url);
x.document.write(myJson);

JSONオブジェクトを新しいページに配置しますが、レイアウトにあった他のすべてを完全に消去します.

また、オブジェクトを文字列化してから Base64 でエンコードすることを提案するソリューションも見てきました。しかし、ボタンをクリックする前にこのページで大量のデータを収集する可能性があることを考えると、URL の長さの制限が心配です。

HTML5 ローカル ストレージの使用を提案するソリューションも見てきました。これ以上の解決策がなければ、私はそうすると思います。ただし、HTML5 ではブラウザーの互換性の問題が発生するため、可能であれば回避したいと考えています。

コード例を次に示します。

JSON オブジェクト:

{ 
{
"name":"Percy Pea.",
"bio":"Percy Pea was born in a pod, and lived there happily."
},
{
"name":"James Cob",
"bio":"James Cob was arrested for stalking."
}
}

サーバーから「データ」として返されたときにそれをキャプチャします。

$("body").data( "userData", data);

印刷用ページ ボタンの onclick で、JSON オブジェクトを取得します。

var userData = $("body").data("userData");

それで、これは実行可能ですか?新しいウィンドウを開いて、その中の特定の要素にデータを挿入/添付する方法はありますか? または...おそらく私が考えたことのない他の方法.

回答が投稿されたら、必ずチェックマークを付けますが、ご協力いただきありがとうございます。

4

1 に答える 1