2016-07-05 6 views
-1

小さなブラウザタイプのHTMLページを作成したいと思います。 基本的に、私はブラウザを純粋にHTMLから作りたいと思っています。iframeを使用してHTMLブラウザを作成する方法

私の意見では、これを行うことができます。私が必要とするのは、シンプルなブラウザのアドレスバーとタブです。

最初の部分は、iframeと入力フィールドを使って簡単に行うことができます。 私はすでにここにコードがある:

<script> 
     (function(d){ 
      var init = function(){ 
       var form = d.getElementById("my_form"), input = d.getElementById("url"), iframe = d.getElementById("browser"); 
       form.addEventListener("submit", function(e){ 
        var val = input.value; 
        if(val) { 
         iframe.src = "//" + val; 
         console.log(val); 
        } 
        e.preventDefault(); 
       }, false); 
      }; 
      d.addEventListener("DOMContentLoaded", init, false); 
     })(document); 
    </script> 

    <form method="post" target="browser" id="my_form"> 
<input style="width:120%;" placeholder="Put the website here (eg. &quot;example.org&quot;)" name="url" id="url" type="text" />   

      <input style="width:8%;" name="submit" type="button" value="Go" /> 





    <iframe name="browser" frameBorder="0" id="browser" src="" style="height:100%; width:100%"></iframe> 

EDIT:Googleについての質問は、単に好奇心の外でした 。以下は私が答えたい質問です!

タブの問題だけを残して、アドレスバーのように見えるように入力フィールドをページ上部に簡単に貼り付けることができました。 jQuery(これは私の強い訴訟ではありません)を使用してタブを作成することは可能ですが、どうすればタブを開いたり閉じることができますか?

また(実際のWebブラウザで同じように)、私はいくつかのサイトが、これは実演目的であることを意図しているiframe-に表示されない可能性があるという事実を懸念していないよ、心配しないでください私のアイデア/コードの「有効性」について

ありがとうございます!

+3

を読み取り、あなたはグーグル自体が – SoluableNonagon

+3

何ブロックのiframeをiframeをすることを許可していないことがわかりますxframeoptionsヘッダーを使用するGoogleのプロパティのように、あなたの "ブラウザ"では動作しませんが、他のテクニックもあります。このアイデアのもう一つの問題は、あなたがSOP – dandavis

+0

のリンククリックからURLバーを更新する方法がないことです。しかし、あなたが見つけたものやフレームバスターのような修正できない問題がいくつかあります彼らはフレームバスターバスターズを持っています。 –

答えて

1

Googleでは、iframeに含まれないヘッダーをいくつか設定することを選択しています。
チェックコンソール:

<iframe src='https://google.com'></iframe>

これは、コンソール出力を確認し

Refused to display 'https://www.google.com/' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'. 
+0

これは、googleが読み込まれない理由を答えますが、JS/HTMLの 'ブラウザ'を作成する方法には答えません – SoluableNonagon

+0

また、downvoteに行く場合は、少なくとも理由をコメントにしてください。 – SoluableNonagon

関連する問題