tohokuaikiのチラシの裏

技術的ネタとか。

InternetExplorerのローカルファイルへのリンク読み込みの件でハマった件

前提&症状

インターネットからHTMLファイルとその周辺一式をZIPでファイルをダウンロードして、HTML/JavaScriptなどを編集していた。

ChromeFirefoxでは問題なかったのだが、IEでチェックしようとしたら編集したファイルだけが動作しない。

編集したJavaScriptは読み込みが拒否される様で「そんな関数はない」とエラーが出るし、HTMLにリンクしようとしたらリンクを拒否される。そもそもそこまで気づいたのはframeのsrc先に指定しても読み込まなくて真っ白だったからなんだけど。

やっかいだったのが、直接開けば開けるのだがリンクが効かないだけという件。

ファイルの権限?プロパティ?

ということで、Windowsのファイル権限を調べてみた。デジタルアドバンテージの打越さん、ありがとうございます!(お知り合いでもないけど)

全然関係なかった。

原因はこれ。

f:id:tohokuaiki:20160330122052j:plain

読み出しもとのファイルにこの制限がかかっている場合、このファイルからリンクしているものはこの制限が罹っているものとみなされるようだ。

ただし、同じく制限が掛かっているファイルであれば、リンクは有効なものとされるが、制限が外れたものにはリンクは無効となるらしい。で、ファイルを編集することによりこの制限が自動的に外れるので編集したファイルはリンクできなくなってしまったのだ。

なので、大本のindex.htmlの解除を外してやることで終了。

だと思うけど、とりあえず複数で一括解除する方法もあるみたいなのでそちらも。

複数のファイルをまとめて「ブロックの解除」をする方法 - Windows - Project Group

ダウンロードリンクが切れているのでこちらから

https://technet.microsoft.com/ja-jp/sysinternals/streams.aspxtitle]

使い方は簡単で、当該ディレクトリにcdしてから

streams -d -s .