-2

AppriseというWebを検索して見つけたプラグインを使用しています。それは私がこれまで必要としていたものに対してうまく機能しました。しかし、私はFacebookログインプラグインを通知したいので、それには次のコードが必要です。

<fb:login-button scope='email,publish_stream'>
Login
</fb:login-button>  

<script type='text/javascript' src='http://connect.facebook.net/en_US/all.js'></script>
<script>
window.fbAsyncInit = function() {
    FB.init({
        appId: '123456789',
        cookie: true,
        xfbml: true,
        oauth: true
    });
    FB.Event.subscribe('auth.login', function(response) {
        window.location = '/fb_redirect.php';
    });
    FB.Event.subscribe('auth.logout', function(response) {
        window.location.reload();
    });
    };
    (function() {
        var e = document.createElement('script'); e.async = true;
        e.src = document.location.protocol +
        '//connect.facebook.net/en_US/all.js';
        document.getElementById('fb-root').appendChild(e);
    }());

あなたが通知されたいことは何でも置くことによって行うことができます

apprise();

javascriptで。ただし、<script></script>JSコード()内にタグを配置すると、JSコードapprise();がどこで終了するかが明確でないため、あらゆる種類の混乱が発生します。

何か案は?

4

4 に答える 4

5

<script>ブロックとインライン Javascriptの両方で機能するメソッドは です。\uxxxxここxxxxで、 は 16 進数の文字コードです。

  • <-\u003c
  • >-\u003e
  • "-\u0022
  • '-\u0027
  • \-\u005c
  • &-\u0026

デモ: jsフィドル

HTML:

<div onClick="alert('Hello \u0022>')">click me</div>

<script>
    var s = 'Hello \u003c/script\u003e';
</script>   
于 2013-02-14T21:17:28.880 に答える
2

私があなたの質問を正しく読んでいる場合は、終了スクリプトタグを分割する必要があります:

var test = '...... </scr'+'ipt>......';

JavaScript 文字列のスクリプト タグ

于 2013-02-14T21:14:55.427 に答える
1

/キャラクターをエスケープする必要があります:

悪い、例外

<script>
    var html = "<script></script>";
</script>

良い

<script>
    var html = "<script><\/script>";
</script>
于 2013-02-14T23:04:03.590 に答える
1

タグを分割してみてください:

apprise('<scri' + 'pt>alert("hello");</sc' + 'ript>');
于 2013-02-14T21:15:16.640 に答える