2017-06-09 12 views
0

いくつかのキーワードを含むテキストファイルがあります。私の練習は、そのファイルから情報を抽出し、適切なタグを付けてテキストファイルにliensを挿入するhtml文書を作成することです。例えば :今すぐHTMLにこれらの行を挿入するには、JavaScriptプログラムを書く バイパスバイナリのwindow.open()のポップアップブロッカー

This should be in a html tag with START as class name 
THIS SHOULD BE IN A HTML TAG WITH CAPITALS AS CLASS NAME 
This should be in a HTML tag with CODE as class name 

は非常に簡単です: これはテキストファイルです。私はちょうどこのような文字列処理を使用しました:

if(contents[i].indexOf(" CODE")!=-1){ 
          w.document.write("<p class='code'>"+lines+"</p>"); 

         } 

私はこれらすべてを新しいwindow.openオブジェクトに書いています。主な問題は、ポップアップブロッカーがこの機能を許可していないことです。だから私はこれを行うことができる他の方法はありますか?私は物理的にhtmlファイルを生成することはできません、私はそれを生成する必要があるので、window.openは私が考えることができる唯一の方法です。私はこれを含めることができる他の方法はありますか? (私はちょうどsomefile.htmlは任意のファイルである

w=window.open("somefile.html") 
w.document.opne("somefile.html") 

を使用してブロッカーをポップアップバイパスすることができます。しかし、私はそれを行うにはしたくない、それはほとんどきれいな方法を思わない。)

もっとオーバー、私はファイルにアクセスするために、私はサーバー上でホストする必要があります(私は現在、このためのノードによって提供されているHTTPサーバーを使用しています)これに他の選択肢がありますか?

私はJqueryを使いたくありません。私はこのすべてをvanilla javascriptで実現したいと思います。しかし、Jqueryでこれを行う可能性がある場合は、教えてください。

はどうもありがとうございました:)

答えて

1

を原則に、ポップアップウィンドウは、すべての最新ブラウザによってブロックされています。彼らは許可したいかどうか尋ねますが、そうでなければ許可しません。

に別のドキュメントとなるがある場合は、おそらくiframeが役に立つでしょうか?ここで


は、余分なソリューションの束です:

  • は、偽のポップアップを持っています。あなたの通常のコンテンツの上に浮かぶすべてのデータを含むdiv。それを閉じるために「x」ボタンを追加してドラッグアンドドロップ機能を実装することができます。視覚効果はほとんど同じですが、ユーザーはOSレベルのウィンドウとして扱うことはできません。
  • 何とか正規のページにコンテンツを統合しようとします。 iframeまたは通常のコンテンツのみ。現代的なデザインは、ポップアップやその他のコンテンツが1つの機外に必要な段階を過ぎました。さらに、モバイルではポップアップがどのように機能するのかは不明です。
  • 新しいタブでコンテンツを開きます。これは基本的には<a>タグを使用しているだけです。必要なコンテンツをリンクのフラグメントに入れることができます。開いたページでは、フラグメントをデコードして必要な情報を表示できます。 巨大なコンテンツで動作しない可能性があります。
  • ポップアップを許可するためのより良い流れがあります。サイトにポップアップが必要であることをユーザーに通知し、ポップアップを無効にするようにします。 1つの良い方法は、ブロックされるポップアップをトリガーするいくつかのボタンを提供することです。その後、ほとんどの人がポップアップがどのようにブロックされたかを示すので、ブラウザにポップアップを許可するように通知します。その後、ユーザーがデータを逃してしまうことなく、通常のポップアップを表示することができます。
+0

別のウィンドウでIframeを開いてそこに書き込むと、ポップアップブロッカーにポップアップとしてカウントされますか? ページにIframeの場所がないため、新しいウィンドウで開く必要があります。 – Vamshi

+0

また、大きなiframeが必要なもう一つの理由は、テキストファイルのサイズが非常に大きくなる可能性があるためです。私は私のホームページに大きなIframeを収容することはできません。 – Vamshi

+0

現実的にはありません。そのようなユーザーを悩ますようなものは、ブラウザによってブロックされます。ポップアップ、あまりにも頻繁に発生するアラートメッセージなどです。追加のソリューションを追加しました。 –

関連する問題