-2

我正在使用从网上搜索到的名为Apprise的插件。到目前为止,它已经很好地满足了我的需要。但是,我想通知 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 代码中 ( apprise();) 会导致各种混乱,因为不清楚 JS 代码的结束位置。

有任何想法吗?

4

4 回答 4

5

适用于<script>块和内联 Javascript 的方法是\uxxxx,其中xxxx是十六进制字符代码。

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

演示: jsFiddle

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

尝试分解标签:

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

您只需要转义/字符:

,异常

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

好的

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