2016-07-20 11 views
0

でローカルページをロードし、オンラインツールを使用してヘルプドキュメントを構築するためには、(ここでは例:http://documenterdocs.revaxarts.com/doc_ca71f4007fd2ed01997a40c61d345e3f/)RevaxartsでDocumenterと呼ばクローム拡張私はChromeの拡張機能を作成したインラインJS

このヘルプドキュメントに関するすべての指示を持っています拡張機能:それは何か、どのように機能するかなどです。私はこのヘルプ文書を自分の拡張子(ローカルファイル)と共有し、ポップアップメニューの "ヘルプガイド"ボタン(新しいタブ/ウィンドウで開きます)でアクセスできるようにしたいと思います。

問題は、ツールで生成されたHTMLファイルにHTML <head></html>のインラインJavaScriptが使用されていて、プログラミングの初期段階にあり、クローム拡張機能を使用した最初の試みであるため、この作業を行う方法、またはこれがまったく不可能な場合の情報でもあります。 /assets/は、CSS、JSとIMGSファイルを持っている

rootfolder/asssets/ 
roofolder/index.html 

ヘルプガイドファイルの構造はこれです。

私はExternal contentの一部を読んでいますが、自分のニーズにどのように適応できるかどうかはわかりません。たぶんサンドボックスを使用していますか?私はそれについて多くを理解していませんでした。

アイデア?

答えて

0

デフォルトではinline scripts will not be executedです。

このポリシーを緩和するには、Relax default policyを参照してください。

クロム45 まで、インラインJavaScriptを実行に対する制限を緩和するメカニズムなかったです。特に、 'unsafe-inline'を含むスクリプトポリシーを設定することは効果がありません。

Chrome 46から、ポリシー内のソースコードのbase64でエンコードされたハッシュを指定することで、インラインスクリプトをホワイトリストに登録できます。このハッシュには、使用されるハッシュアルゴリズム(sha256、sha384またはsha512)が前に付いていなければなりません。例として、Hash usage for elementsを参照してください。

しかし、私はあなたがインラインリスナーを変更、例えば、外部スクリプトをインラインスクリプトを抽出することをお勧めなどonclick=xxxねえ榛原

+0

Element.addEventListener('click')のように、明確化のために感謝します。あなたの記事を読んで、私はextension.h内のindex.htmlファイルへのボタンを作成しようとしました。ボタンをクリックすると、ページは問題なく新しいタブに読み込まれます。私は、これは拡張子、ローカルファイルと共にパックされたページであり、コンテンツスクリプトなどには使用されないことになるので、インラインJavaScriptを使用することに問題はありません。 – SoMeGoD

関連する問題