まだスクリプトの実行をさせる一方で、イベントリスナーを通過した「グローバル」変数の値を非表示にする方法はありますか?

captiveCorsair:

私はOctoberCMS、ユーザーの入力することができるプラグイン設定メニュー内のフィールドにコードのプラグインを作成しています。私はページのテンプレートに貼り付けてきたグローバル変数、にこの入力を保存しました。

Plugin.php、グローバル変数にそれを保存するためのコードでは:

 public function boot()
{
    Event::listen('cms.page.beforeDisplay', function($controller, $url, $page) {

        $settings = Settings::instance();

        $script = $settings->script; 

        $controller->vars['script'] = $script;
    });
}

template.htmでは、タグ内の変数を呼び出します:

{{ script | raw }}

これは、ページを検査する際に、入力されたコードを表示します。

私の質問は、ある非表示にするための変数の実際の値のためではなく、スクリプトがまだ実行するための方法は何ですか?だから、ウェブサイトを閲覧すべてのユーザーはそれを「検査」とスクリプトが何であるかを見ることができないということ。感謝

Hardik Satasiya:

あなたがGoogle Analyticsのスクリプトのように実行したいなら、あなたはスクリプトファイルを作成する必要がありません。

your-javascript-file.js 今どこか他のドメイン上、または同じサイト上でそれをホストし、そのURLをコピーしてください。

今お使いの設定で$settings->script、バックエンドの設定から、この変数のため、次のような値を設定することができます。

<script src="https://your_site/something/your-javascript-file.js"></script>

ので、あなたのウェブページにはこのようなもの^実際のないコードが表示されます。実際のコードを見て、より一歩を掘るために、ユーザが必要。でも、はいin your web-page's source code only this single line will appear not js code it self.

どんな疑問がコメントをしてくださいます。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=347751&siteId=1
おすすめ