ローカルで動作させるページを作っているのですが、
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で代用せずに、
この警告を出さないようにすることは可能なのでしょうか?
ご回答よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

>セキュリティレベルを甘くせずに、



甘くするわけにはいきません。

あなたの作っているスクリプトが、利用者に害を与える欠陥の可能性がある、
ということです。

この回答への補足

ご回答ありがとうございます。
質問に欠陥がありました。
「セキュリティ保護の警告を全く出さないように」ではなく、
「一回警告が出たあと、許可ボタンを押したら消えるように」という趣旨でした。
お詫び申し上げます。

もちろん固執せずにiframeで代用すればいい話なのですが、
一応ご意見をお聞かせ願いたいと思っております。

補足日時:2007/09/08 13:05
    • good
    • 0

両方のhtmlの頭に



<!-- saved from url=(0021)http://www.goo.ne.jp/ -->

などをつけるとでなくなります。

これは「ファイル」-「名前を付けて保存」-「html完全」で開いているページを
保存したときに自動で付加される1行ですが
これがあるとローカルで開く前提のファイルとみなされるようになるようです。
    • good
    • 1
この回答へのお礼

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

お礼日時:2007/09/11 00:30

> あなたの作っているスクリプトが、利用者に害を与える欠陥の可能性がある、


> ということです。
いったいどういう解釈だ。このメッセージはローカルでJavaScriptやFlashなどを実行しようとしたとき“問答無用で”出るものなんですけどねぇ?^^;
どうしてこうも知らないとしか思えない輩…もとい、回答者諸氏が多いのでしょうか?情報バーからヘルプ見れば多少は理解できると思うのですが、やはりそれは私の思い込みと言うことなのかな?(汗
それに過去のQ&Aにも似たようなケースがたくさんあるのですが、検索しづらいのかな?だとすれば仕方ないのでしょうが。

※参考:情報バーについて
http://support.microsoft.com/kb/875396/ja
http://support.microsoft.com/kb/843017/ja

結論から言うと、アップロードすればブロックされなくなりますのであまり神経質になる必要はないと思います^^;
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
過去の同様なQ&Aは見つけられませんでした。
私の検索力不足です。お手数お掛けして申し訳ありません。

また今回はサーバ上ではなく、デスクトップでhtmlファイルをクリックして動作させる目的のページを作成していました。
説明不足でした。ご容赦ください。

お礼日時:2007/09/11 00:28

こんにちは



>ローカルで動作させるページ
ローカルサーバー(h ttp://127.0.0.1/***/index.html)ではなく
htmlファイルをクリックして表示(C:\****\index.html)でしていますか?

前者だと警告無く表示されてますが、後者の場合だと(javascriptを使用していると)確かに許可しても永遠に出続けているようですが・・・
(iframeだと最初の1回)

参考URL:http://hpp.kimiyure.com/web/server/index.php
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/09/11 00:22

インターネットエクスプローラーのメニューの


「ツール」→「インターネットオプション」→「詳細設定」のタブのなかにある「マイコンピューターのファイルでのアクティブコンテンツの実行を許可する」にチェックを入れて適用させればOKです。
    • good
    • 0
この回答へのお礼

ご教示いただいた方法を実践してみました。

申し訳ないのですが、警告を出さず完全に許可してしまうという点でセキュリティレベルを甘くすることにつながってしまいます。

ただ、それでも警告の出現は抑えられるので、一度検討してみたいと思います。
ご回答ありがとうございました。

お礼日時:2007/09/08 13:15

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QIEで「信頼済みのサイト」にローカルファイルを指定する方法

IEで「信頼済みのサイト」にローカルファイルを指定する方法

IEのバージョンは8を使っています。OSはWinXP SP3です。
ローカルにあるhtmlファイルからファイル書込みをしたいと思っています。
で、「fso = new ActiveXObject("Scripting.FileSystemObject");」
等で書込み自体は出来ていますが、その際にActiveXObjectの初回呼び出し時に

# このページのActiveXコントロールは、安全でない可能性があり、
# ページのほかの部分に影響する可能性があります。
# ほかの部分に影響しても問題ありませんか?

というダイアログが出てうっとうしく感じています。

で、これを出ないようにしたいと思っています。
調べたところ、
「インターネット オプション」→「セキュリティ」→「信頼済みサイト」に
登録すればいいことが分かりました。
で、以下が入力できるらしいということを確認しました
「http://…」「ftp://…」「file://…」

ローカルファイルを開いた際にURL欄に表示される値は以下です。
「C:\tmp\core\index.html」
Bookmarkに登録した際にURLに設定される値は以下です。
「file:///C:/tmp/core/index.html」

しかしこのどちらもそのままでは登録することが出来ません。
書き方がイマイチよくわかっていません。
「信頼済みのサイト」に入力する際の
ドライブ名を含むファイルパスの書き方を教えてください。
よろしくお願いします。

IEで「信頼済みのサイト」にローカルファイルを指定する方法

IEのバージョンは8を使っています。OSはWinXP SP3です。
ローカルにあるhtmlファイルからファイル書込みをしたいと思っています。
で、「fso = new ActiveXObject("Scripting.FileSystemObject");」
等で書込み自体は出来ていますが、その際にActiveXObjectの初回呼び出し時に

# このページのActiveXコントロールは、安全でない可能性があり、
# ページのほかの部分に影響する可能性があります。
# ほかの部分に影響しても問題ありませんか?

という...続きを読む

Aベストアンサー

"file://"による指定は、ファイル単位では出来ず、コンピュータ全体(コンピュータ名で指定)またはフォルダ単位(ネットワーク共有名で指定)になります。

file://コンピュータ名/
file://コンピュータ名/ネットワーク共有名/
file://ネットワーク共有名/

ご質問のケースでは、"C:\tmp\core\"フォルダにネットワーク共有を設定し、その際設定したネットワーク共有名を指定すればよいと思います。

コンピュータ名は『コマンドプロンプト』を起動して、

set c

と入力すると、

COMPUTERNAME=○○○○

と表示されます。

Qsaved from url=(0013)abou

ローカルで見るときに便利だと教えてもらったので
HTML文書の先頭に以下の記述を入れています。
<!-- saved from url=(0013)about:internet -->

やっとトップページが完成したので、これを外して
アップロードしようとしたらレイアウトが大きくずれて
唖然としてしまいました。

具体的に言うとフッターがど真ん中に来てしまいます。
上記の記述を入れると真下で固定してくれます。

CSSに根本的な欠陥があると思うんですけど、
<!-- saved from url=(0013)about:internet -->
を入れたままアップロードしても良いのでしょうか。
良ければこれで完成としたいと思います。
考え方がおかしければ作り直したいと思います。

Aベストアンサー

そんなもの一度も入れたことの無い私が断言します。
はずして修正してください。
><!-- saved from url=(0013)about:internet -->
何が「便利」だか知らないけど、それを言った人はおおかたJavascriptの警告が出るのがいやだったかなにかでしょう。
><!-- saved from url=(0013)about:internet -->
とスタイルの関係性については分かりません。表面上は明らかにただの「コメント」ですから影響するはずがないんです。
入れると入れないで(何故か)レイアウトが変わるのであれば、当然入れないほうでレイアウトを組むべきです。
小手先の変な「テク」を使うか使わないかについては質問者さんの自由ですが、入れる必要の無いものは入れないほうが健全です。

Qhtml上で、バッチやexeファイルの起動をしたい

わけあって、学校(養護学校)初心者向けにhtmlでメニューを作っています。
さて、スタートボタンやディスクトップにショートカットを使わず、htmlの中からバッチファイルやexeファイルを起動できるでしょうか?

もし可能ならば、教えてください。OSはWindows XPで起動したいファイルはexeファイルとバッチファイルです。
よろしくお願いします。

Aベストアンサー

<html><head></head>
<body>
<a href="file:///c:/windows/system32/calc.exe">電卓</a>
</body>
</html>

QHTMLからフォルダを開きたい

いつも大変お世話になります<(_ _)>

Webサーバー上にあるWebページ(HTML)の中に、ローカルPCのフォルダを開くリンクを付けたいのですが、
<a href="file://c:\windows">OPEN</a>
としても、何も反応しません。

いろいろ調べたのですが、上記の方法しか見あたりません。

なお、ブラウザのアドレス欄に file://c:\windows と入力すると、フォルダの内容が表示されます。
※Firefoxだと、ファイルの一覧になりますが・・・

何か環境によって挙動が異なるのでしょうか?
それとも、セキュリティ上の観点から最近じゃ出来なくなっているのでしょうか?

是非ともお助け下さい。宜しくお願い致します。

Aベストアンサー

file:///C:/windows/
/は三つでは・・・
 IEの場合はエクスプローラ(ファイルマネージャ)が開くような・・・
 IEはファイルマネージャーと一体のブラウザなので・・・

★実は、ローカルサーバーが必要です。
 apacheでも何でも良いので、WEBデータの入っているフォルダーを
<VIRTUALHOST 127.0.0.1>
C:\Document and settings\my document\web
 とかに指定して、Windowsのhostsファイルで、適当なサーバー名を指定しておきます。
myLocalhost 127.0.0.1
とか・・・

 そうすると
http://myLoclahost/
 で開けます。

 

QActiveXが有効になりません(IE11使用)

Yahooなどを閲覧しているとFlash Playerがインストールされていないというメッセージが出るので、何度もインストールをしているのですが、結局、フラッシュコンテンツを再生できません。
ActiveXが有効になっていない、のエラーが出ているので、Webで検索できる対策を講じてみたのですが、やはり同じエラーが出ます。なぜでしょうか。

Aベストアンサー

IE11を起動 ⇒「Alt」キーを押下し、一時的にメニューバーを表示します。

「ツール」をクリックし「ActiveX フィルター(X)」にチェックが入っていれば外してください。
通常はこれで再生できるはずです。


それでも再生できない場合は、Flash Player のアドオンが無効になっているのかもしれません。

「ツール」⇒「アドオンの管理」⇒「ツールバーと拡張機能」⇒下の「表示」では「すべてのアドオン」を選択。
「Shockwave Flash Object」が無効になっていたら「有効」にしてください。

QJavaScriptde途中で、「exit」するには?

function kensaku(){
s_data = document.kaiin_form.input_name.value;

if(!s_data){ alert("キーワードを入れて下さい!"); }

if(s_data != dumy){ ...... }
for(i=st_no;i<=n;i++){
......省略.................;
.......省略................}
}

----------------------------------
3行目で表示されたアラートをOKで閉じても、4行目以下が実行されてしまいます。
3行目でexitするにはどうすれば良いでしょうか?

Aベストアンサー

>関数(kensaku())からは抜けられませんでした。
そうですね、勘違いしていました、f(^^;
すみません。
if(!s_data){
alert("キーワードを入れて下さい!");
return;
}
ですね。

QHTMLファイル同士での値渡し

困っています。

HTMLファイルからHTMLファイルへ移動するときに、
HTMLファイル1でJavaScript で算出された値を
HTMLファイル2へ渡して使用したいのです。

showModalDialogだとダイアログにしか渡せないし・・・。
このように、値をそのまま次のページに渡すための方法を教えてください。
お願いします。

Aベストアンサー

すみません。うっかりしてました。

document.write(FORM[v1]);
では、v1を変数と認識してしまうので、エラーになってしまいますね。

document.write(FORM.v1);  // 「FORM.v1」です
あるいは
document.write(FORM["v1"]);
としてください。

QHTMLフォームのSELECTの幅を一定にするためには?

HTMLフォームのSELECTの幅を一定にするためにはどのようにすれば
いいのでしょうか?

CSS等で設定できるとありがたいのですが、やり方がわかりません。

Aベストアンサー

<select style="width: 200px">

QVBSでADOを使ってaccessのテーブルに接続

VBSでADOを使ってaccessのテーブルに接続する方法は?

Sub ADO_test()

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= " & "D:\【Access】サンプル.mdb"
rs.Open "テーブル1", cn, adOpenKeyset, adLockOptimistic

MsgBox "test成功です"

rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing

End Sub

をACCESSVBAで実行すると成功しますが
全く同じコードをメモ帳に貼り付けてtest.vbsで保存し、ダブルクリックすると、

行:3
文字:11
エラー:ステートメントの末尾が不正です。
コード:800A0401

のエラーになります。

VBAは少しわかるのですが、VBSに関しては初心者です。
どこを修正すればコードが通るのか教えてください。

VBSでADOを使ってaccessのテーブルに接続する方法は?

Sub ADO_test()

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= " & "D:\【Access】サンプル.mdb"
rs.Open "テーブル1", cn, adOpenKeyset, adLockOptimistic

MsgBox "test成功です"

rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing

End Sub

をACCESSVBAで実行すると成功しますが
全く同じコードをメモ帳に貼り付けてtest.vbsで保存...続きを読む

Aベストアンサー

Dim cn 'データ型の指定は出来ません。VBSにお任せになります
Dim rs
const adOpenKeyset = 1
const adLockOptimistic = 3
set cn=createobject("adodb.connection") 'Accessのように参照設定は出来ないので此処で
set rs=createobject("adodb.recordset")

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= " & "D:\【Access】サンプル.mdb"
rs.Open "テーブル1", cn, adOpenKeyset, adLockOptimistic 'Accessの定数名では指示できないので実数で
'rs.Open "テーブル1", cn, 1, 3 'これだと後で見ても分からないので、Const で宣言
MsgBox "test成功です"
msgbox rs(0)
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing

かな?
定数の実際の値はイミディエイトウィンドウで
?adOpenStatic とかで返ってくる値を確認してください。

Dim cn 'データ型の指定は出来ません。VBSにお任せになります
Dim rs
const adOpenKeyset = 1
const adLockOptimistic = 3
set cn=createobject("adodb.connection") 'Accessのように参照設定は出来ないので此処で
set rs=createobject("adodb.recordset")

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= " & "D:\【Access】サンプル.mdb"
rs.Open "テーブル1", cn, adOpenKeyset, adLockOptimistic 'Accessの定数名では指示できないので実数で
'rs.Open "テーブル1", cn, 1, 3 'これだと後で見...続きを読む

QJavaScriptからVBScriptの呼び出しについて

JavaScriptからVBScriptで作った関数を呼び出すことは可能なのでしょうか?
可能なのであれば、やりかたを教えてください。

Aベストアンサー

できますよ。
別のスクリプトタグの中で定義した関数は、普通に呼び出せますので。

<script language=vbscript>
function hoge(arg)
hoge=arg*5
end function
</script>
<script language=javascript>
document.write(hoge(6));
</script>

とか。
逆もしかりです。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報