• ベストアンサー

セキュリティ保護の警告が出ないようにするには

ローカルで動作させるページを作っているのですが、 JavaScriptを使用したところ、 「セキュリティ保護のため、このコンピュータにアクセスする可能性のあるスクリプトや ActiveX コントロールを実行しないよう、Internet Explorer で制限されています。オプションを表示するには、ここをクリックしてください...」 というメッセージ(情報バー)が表示され、 「ブロックされているコンテンツを許可」を押しても押しても延々と出続けます。 原因は、obejctタグを使ってiframeのように別なページを表示させていることにあります。 その「別なページ」にもJavaScriptを使っているため、 上記の許可ボタンを押しても画面がリロードされ、別なページのJavaScriptを実行する前に警告が出てしまう…という訳です。 ソース(概略)は以下の通りです。 [index.html] <head> <script type="text/javascript" src="./script.js"></script> </head> <body> <object data="./contents.html"></object> </body> [contents.html] <head> <script type="text/javascript" src="./script.js"></script> </head> <body> <p>text</p> </body> セキュリティレベルを甘くせずに、 またobjectをiframeで代用せずに、 この警告を出さないようにすることは可能なのでしょうか? ご回答よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#98978
noname#98978
回答No.1

>セキュリティレベルを甘くせずに、 甘くするわけにはいきません。 あなたの作っているスクリプトが、利用者に害を与える欠陥の可能性がある、 ということです。

ajrkmkrn
質問者

補足

ご回答ありがとうございます。 質問に欠陥がありました。 「セキュリティ保護の警告を全く出さないように」ではなく、 「一回警告が出たあと、許可ボタンを押したら消えるように」という趣旨でした。 お詫び申し上げます。 もちろん固執せずにiframeで代用すればいい話なのですが、 一応ご意見をお聞かせ願いたいと思っております。

その他の回答 (4)

回答No.5

両方のhtmlの頭に <!-- saved from url=(0021)http://www.goo.ne.jp/ --> などをつけるとでなくなります。 これは「ファイル」-「名前を付けて保存」-「html完全」で開いているページを 保存したときに自動で付加される1行ですが これがあるとローカルで開く前提のファイルとみなされるようになるようです。

ajrkmkrn
質問者

お礼

ご回答ありがとうございます。 なるほど。ユニークな方法ですね。 早速試してみます。

  • MAN_MA_RUI
  • ベストアンサー率41% (426/1024)
回答No.4

> あなたの作っているスクリプトが、利用者に害を与える欠陥の可能性がある、 > ということです。 いったいどういう解釈だ。このメッセージはローカルでJavaScriptやFlashなどを実行しようとしたとき“問答無用で”出るものなんですけどねぇ?^^; どうしてこうも知らないとしか思えない輩…もとい、回答者諸氏が多いのでしょうか?情報バーからヘルプ見れば多少は理解できると思うのですが、やはりそれは私の思い込みと言うことなのかな?(汗 それに過去のQ&Aにも似たようなケースがたくさんあるのですが、検索しづらいのかな?だとすれば仕方ないのでしょうが。 ※参考:情報バーについて http://support.microsoft.com/kb/875396/ja http://support.microsoft.com/kb/843017/ja 結論から言うと、アップロードすればブロックされなくなりますのであまり神経質になる必要はないと思います^^;

ajrkmkrn
質問者

お礼

ご回答ありがとうございます。 過去の同様なQ&Aは見つけられませんでした。 私の検索力不足です。お手数お掛けして申し訳ありません。 また今回はサーバ上ではなく、デスクトップでhtmlファイルをクリックして動作させる目的のページを作成していました。 説明不足でした。ご容赦ください。

  • leap_day
  • ベストアンサー率60% (338/561)
回答No.3

こんにちは >ローカルで動作させるページ ローカルサーバー(h ttp://127.0.0.1/***/index.html)ではなく htmlファイルをクリックして表示(C:\****\index.html)でしていますか? 前者だと警告無く表示されてますが、後者の場合だと(javascriptを使用していると)確かに許可しても永遠に出続けているようですが・・・ (iframeだと最初の1回)

参考URL:
http://hpp.kimiyure.com/web/server/index.php
ajrkmkrn
質問者

お礼

ご回答ありがとうございます。 後者の「htmlファイルをクリックして表示」です。 ローカルサーバにアップロードした状態でも警告は出なくなるのですね。 参考にさせていただきます。

  • Rin-z
  • ベストアンサー率32% (41/126)
回答No.2

インターネットエクスプローラーのメニューの 「ツール」→「インターネットオプション」→「詳細設定」のタブのなかにある「マイコンピューターのファイルでのアクティブコンテンツの実行を許可する」にチェックを入れて適用させればOKです。

ajrkmkrn
質問者

お礼

ご教示いただいた方法を実践してみました。 申し訳ないのですが、警告を出さず完全に許可してしまうという点でセキュリティレベルを甘くすることにつながってしまいます。 ただ、それでも警告の出現は抑えられるので、一度検討してみたいと思います。 ご回答ありがとうございました。

関連するQ&A

  • マスターページでのJavaScrioptファイル

    マスターページとコンテンツページ(aspxファイル)のディレクトリ階層が異なる場合、マスターページにJavaScriptファイルの指定を行うと、生成された画面のソースを見ると、マスターページからの相対パスになっており、JavaScriptのメソッドを実行できません。 どうすれば、コンテンツページからのパスで生成されるようにできますか? ■階層 root ┗Script ___Script.js ┗マスターページ ___マスターページ.master ┗コンテンツルート _┗aspxファイル ______コンテンツ.aspx ■マスターページ <head id="Head1" runat="server"> <script type="text/javascript" src="~/Script/Script.js" charset="Shift_JIS"></script> </head> ■生成されたhtml <head id="Head1" runat="server"> <script type="text/javascript" src="../Script/Script.js" charset="Shift_JIS"></script> </head> 希望しているコード <script type="text/javascript" src="../../Script/Script.js" charset="Shift_JIS"></script>

  • jqueryとjavascriptの競合?

    どなたかお知恵をお貸しくださいませ。 jqueryとjavascriptを混在させたページを作っています。 ファイルは全て同一サーバー内です。 ◆希望ページ構成 <body> <div class="wrap">  <div class="header"></div>  <div class="main">**フロートで左に配置   <iframe></iframe>  </div>   //1.   //jqueryの「iframe-auto-height」プラグインを使って、   //読み込まれた内容に応じてiframeの高さを変えるようにしたい。  <div class="menu">**フロートで右に配置</div>   //2.   //jqueryの「portamento」プラグインを使って、   //画面が縦長になりスクロールしてもこの「メニュー」が   //画面に追従してフロートするように(常に画面上に現れている様に)したい。   //3.   //このメニュー内のリンクから「iframe」内の内容を切り替えたい。 </div> </body> ■ 「1.」「2.」のjqueryは、同時にちゃんと動作しました。   が、「3.」を加えると「1.」が動きません。   「2.」は常に正常に動作します。   「1.」と「3.」が競合しているようなのですが、   私はみなさんが提供してくださっているスクリプトを“切り貼り”して   使わせて頂いている程度の知識しかなく、この問題をどうすれば回避し、   希望のページを作れるのか分からず、どなたかお詳しい方にご教示頂ければ、と思った次第です。  ★「3.フロートするメニューボックスの中のリンクから、    表示する内容に応じて高さが可変するiframeの内容を切り替える」    にはどのようにすればよいでしょうか? ◆HTML記述 <head> <script type="text/javascript" src="jquery-1.6.4.min.js"></script> <script type="text/javascript" src="jquery.iframe-auto-height.plugin.1.5.0.min.js"></script> /// 1.「iframe-auto-height」用。これは<head>内だけでなく、</body>の前部分に置いても動作しました。 <script type="text/javascript"> <!-- function ifr(jpURL){ panel.location = jpURL; } // --> </script>  ///3.「リンクでiframe内を切り替える」用。 </head> <body> ~ ~ <iframe src=".html" name="panel" width="620" height="1500" class="auto-height" scrolling="no" frameborder="0"></iframe>  /// 『切り替え』用に「name」を付け、『autoheight』用に「class」を付けています。  /// フロートの確認用に便宜的に「height」を書いていますが、『autoheight』が動作する際  /// は「height」は無視されています。 <script type="text/javascript"> jQuery('iframe').iframeAutoHeight(); </script>  /// 『autoheight』用スクリプト ~ ~ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> <script src="http://portamento.js"></script> <script> $('#menu').portamento({gap: 100}); // set a 100px gap rather than the default 10px </script>  /// 『フロートボックス』用読み込み&スクリプト      </body> 内容は以上となります。 何卒よろしくお願いいたします。

  • Ajaxのウィンドウ表示位置について

    ページを開くとAjaxのウインドウが表示されるようになっています。 バックには既にサイトが表示されている状態でその上にウインドウが出てくるイメージです。 ソースは以下のようになっています。 <html> <head> <title>titletitle> <script type="text/javascript" src="js/prototype.js"> </script> <script type="text/javascript" src="js/effects.js"> </script> <script type="text/javascript" src="js/window.js"> </script> <script type="text/javascript" src="js/window_ext.js"> </script> <script type="text/javascript" src="js/debug.js"> </script> <link href="css/default.css" rel="stylesheet" type="text/css"> <link href="css/spread.css" rel="stylesheet" type="text/css"> </head> <body> <script type="text/javascript"> var win = new Window({className: "spread", title: "タイトル", top:50, left:50, width:500, height:500, zIndex: 100, url: "http://www.linkstyle33.com/", showEffectOptions: {duration:3}}) win.show(); </script> --サイトここから-- --サイトここまで-- </body> </html> top:50, left:50,で表示位置を設定することはわかるのですが ウインドウの真ん中に出したいのですがやりかたがわかりません。 試しに50%としてみたもののpx指定になっているようで表示すらされませんでした。 サイトがバックにある状態でウインドウを出したいのでiframe以外で ウインドウを真ん中に表示する方法はあるのでしょうか?

  • JavaScriptで擬似フレーム、読み込み完了を知るには?

    サイト内の各ページ上部に、Ajaxで共通のメニュー部分.htmlを読み出し、表示しています。 参考:AjaxでIFRAME的な表示をやってみる http://bizcaz.com/archives/2006/11/13-000253.php 参考:階層メニューにJavaScriptで書き換え http://www.dhtmlgoodies.com/index.html?whichScript=dhtmlgoodies_menu2 <html> <head> <script type="text/javascript" src="prototype.js"></script> <script type="text/javascript" src="ajaxcontents.js"></script> <script type="text/javascript" src="ListbasedDHTMLmenu.js"></script> </head> <body> <span id="ajax_content_block"></span> <script type="text/javascript"> <!-- ajax_content_onload_get('メニュー部分.html','','ajax_content_block','ajax_content_progress'); //--> </script> <div> 本文 </div> </body> </html> ajaxcontents.jsでメニュー部分.htmlを読み出しListbasedDHTMLmenu.jsで階層メニューに書き換えています。 "dhtmlgoodies_menuObjはNullまたはオブジェクトではありません" のエラーが出て、階層メニュー部分が表示されません。 dhtmlgoodies_menuObjは階層メニュー書き換えのListbasedDHTMLmenu.jsで使われています。 ページ読み出しjavascript完了後に、ページ書き換えjavascriptを実行すればと思っているのですが、 方法の検討がつきません。 if ( location.search.indexOf("1") == -1 ) { setTimeout("_reload()",100); } function _reload() { location.href = location.href + "?1"; } ↑でリロードさせて見たのですが、バックすると表示されなくなります。 すいませんがアドバイスをお願いいたします。

  • Javascriptについて

    ページA ページB があって ページAにiframeでページBを埋め込んだり、ページB単体で表示したい場合、 それぞれで使用したいJavaScriptはそれぞれで読み込んでも良いですか? 同一のJavaScriptそれぞれのページで読み込む。 <script type="text/javascript" src="xxx.js"></script>

  • IEだけで動きません。Javascriptに関する質問です。

    IEだけで動きません。Javascriptに関する質問です。 初心者です。よろしくお願いします。 下記のページを作りました。 menuをクリックすると、ページが現れるようにしています。aaa.jsで制御しています。 ページの高さがそれぞれ違うので、bbb.jsで高さを取得しています。 IEでは、bbb.jsのwindow.parent.document.getElementById('obj')で「オブジェクトがありません」とエラーが出て、動きません。 他のブラウザでは動きました。 どうしてでしょう? 悩んでいます。 どなたか教えてください。よろしくお願いいたします。 <html>   <head> <link rel="stylesheet" type="text/css" href="main.css" media="screen,print" /> <script type="text/javascript" src="aaa.js"></script>   </head> <body>   <div id="container">   </div>       <div id="menu">    <ul>    <li><a href="javascript:changeObj('a.htm')" title="a">a</a></li>    <li><a href="javascript:changeObj('b.htm')" title="b">b</a></li>    <li><a href="javascript:changeObj('c.htm')" title="c">c</a></li>    </ul>   </div>     </body> </html> ***aaa.js*** /* オブジェクトの変更 */ function changeObj(html){ var contents = '<object id="obj" data="' + html + '" type="text/html"><\/object>'; window.document.getElementById('container').innerHTML = contents; } ***main.css*** /* obj */ #obj{ visibility:hidden; position:absolute; right:5%; min-width:560px; background-color:#CCFFFF; z-index:1; border-style:none; overflow:visible; } ***a.htm*** <html>  <head> <script type="text/javascript" src="bbb.js"></script>  </head>   <body> <div id="page-height"> <div id="a"><!--ここにページ内容--> </div> </div>   </body> </html>

  • 外部ファイルの記述の問題なのかエラーが出ます

    IE6を使っています。 次のように[a.js]を呼び出したのですが、 オブジェクトがありませんとエラーが出ます。 そのエラーの次に[test.html]にあるalertの内容は表示されます。 どこが間違っているのでしょうか? [a.js] var a = document.body.clientWidth; [test.html] <html> <head> <title>test</title> <script type="text/javascript" src="a.js"></script> </head> <body> <script type="text/javascript"><!-- alert(document.body.clientWidth); --></script> </body> </html>

  • Javascriptの外部サーバーからの読み込み(greybox)

    いつも参考にさせていただいてます。 greyboxを使ってページを表示したいのですが、 使っているサーバーはjsファイルなどがアップロードできない、CMSサービスのサイトなので、 別のレンタルサーバーにアップロードしたjsファイルを読み込んで動かしたところうまくいきません。 模範例では、 ----------------------------------- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>Sample</title> <link rel="stylesheet" href="greybox/gb_styles.css" type="text/css" media="all"> <script type="text/javascript"><!-- var GB_ROOT_DIR = "./greybox/"; // --></script> <script type="text/javascript" src="greybox/AJS.js"></script> <script type="text/javascript" src="greybox/AJS_fx.js"></script> <script type="text/javascript" src="greybox/gb_scripts.js"></script> </head> <body> <h1>GreyBox サンプル</h1> <a href="http://job.mycom.co.jp/" title="job" rel="gb_page[480,360]"> 毎日就職ナビのページ表示 </a> </body> </html> ----------------------------------- なのですが、パスを絶対パスに変えて ----------------------------------- <link rel="stylesheet" href="http://mydomain/greybox/gb_styles.css" type="text/css" media="all"> <script type="text/javascript"><!-- var GB_ROOT_DIR = "http://mydomain/greybox/"; // --></script> <script type="text/javascript" src="http://mydomain/greybox/AJS.js"></script> <script type="text/javascript" src="http://mydomain/greybox/AJS_fx.js"></script> <script type="text/javascript" src="greybox/http://mydomain/gb_scripts.js"></script> ----------------------------------- と変更しました。 成功例(jsファイル同一サーバー上):http://greybox.main.jp/test_ng/index2.html 失敗例(jsファイル別サーバー上):http://greybox.main.jp/test_ok/index1.html 対応方法をお教え下さい。よろしくお願い致します。

  • thickboxのjavascriptについて

    ウェブサイト作成初心者です。 ホームページの一部のページでthickboxを使用してhtmlを表示するページを作ろうとしています。 その場合 <head>~</head>内に <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="thickbox.js"></script> <link href="thickbox.css" rel="stylesheet" type="text/css" /> はthickboxを使うページだけに記述すればいいのでしょうか。それとも前ページに記述しないといけないのでしょうか。 お分かりなられる方、お手数ですが教えてくださいませ。

    • ベストアンサー
    • HTML
  • prototipの設定

    質問させていただきます。 <script src="js/prototype.js" type="text/javascript"></script> <script src="js/effects.js" type="text/javascript"></script> <script src="js/prototip.js" type="text/javascript"></script> <link rel="stylesheet" type="text/css" href="http://yourdomain/prototip.css"> <script type="text/javascript"> function init() { new Tip('test', 'ToolTip simple', {title: 'title'}); Event.observe(window, 'load', init, false); </script> </head> <body> <a href="" id="test">test</a> </body> </html> 以上のように記述して、動かしてみたのですが、動きません。 何処が違っているか解るか炊いたら教えていただけ無いでしょうか。

専門家に質問してみよう