2012-03-08 5 views
7

HTMLとJavaScriptで書かれたFTPクライアントを想像してみてください。この部分は動作します。しかし、ユーザーが「リストをクリップボードにコピーする」ことができればいいでしょう。クリップボードの内容はJSで簡単ではないことが分かります(しかも、リストは膨大なものになる可能性があります)。したがって、生成されたリストをウィンドウにポップアップすると、ユーザーはCopy'Pasteまたはページをディスクに保存することができます。クロム:JavaScript window.openを保存可能にする

現在、私は実行します。

 
    my_window = window.open("", "Copy List"); 
    my_window.document.write('<pre>\n'+string+'</pre>'); 
    my_window.document.close(); 

働きます。私は新しいタブを取得し、私が "string"で生成したリストはうまく表示されます。

しかし、Chromeでは[ページを保存]オプションが無効/グレー表示されます。ユーザーがページ(htmlまたはtxt)を保存できるといいでしょう。ウィンドウ/タブを開いてコンテンツを保存させるには、どのような魔法が必要ですか?

WebSocket(key1/key2)を使用しているため、これはChromeでのみ動作し、他のブラウザは必要ありません。

+0

ほとんどすべてのブラウザがサポートしているウェブソケット。クロスブラウザのサポートを無効にするよりも、より良い言い訳が必要になります。 http://caniuse.com/#feat=websockets – Domenic

+0

これは、プロトコルのバージョンの詳細です。話をするJSコードのFXP.OneエンジンにWebSocketポートを実装したので、私はSec-WebSocket-KeyとSec-WebSocket-Acceptを使用する新しいプロトコルのみを実装しました。現在のところ(少なくとも、Googleが12月にコードを開始したとき)、それはChromeだけを意味していました。他のすべてのブラウザはkey1/key2を使用していたか、無効になっていました。私も古いプロトコルを実装することができましたが、段階的に廃止されたので、待っていると感じました。 – lundman

+0

私はもう一度Firefoxをテストしましたが、まだ古いプロトコルです。しかし、Firefox-Beta5はアップデートされており、実際にFXP.Oneでうまく動作します。だから、私はあなたがベータ版を実行する場合、2つのブラウザのためのソリューションがいいと思う。 – lundman

答えて

3

ウェイ事後ますが、このためにデータURIを使用することができます。

window.open("data:text/plain;base64,"+btoa(theCode))

関連する問題