javascript代码里面的标签?

时间:2013-02-14 21:12:26

标签: javascript jquery

我正在使用我在搜索名为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 个答案:

答案 0 :(得分: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>   

答案 1 :(得分:2)

如果我正确地阅读你的问题,你需要打破关闭的脚本标记:

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

Script tag in JavaScript string

答案 2 :(得分:1)

尝试分解标签:

apprise('<scri' + 'pt>alert("hello");</sc' + 'ript>');

答案 3 :(得分:1)

您只需要转义/字符:

BAD ,例外

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

GOOD

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