羊皮纸论坛

羊皮纸论坛

分享让知识传播,阅读让心灵成长, 创作让文化传承,让我们共同努力。
  • 禁止广告文
  • 知识传播
  • 阅读
  • 心灵成长
  • 创作
  • 文化传承
发表新主题
随机主题
上个主题
下个主题
|
    优化 JS 程式

    ???

    Avoiding losing tree builder output

    Speculative tree building fails when document.write() changes the tree builder state such that the speculative state after the </script> tag no longer holds when all the content inserted by document.write() has been parsed. However, only unusual uses of document.write() cause trouble. Here are

    几个需要避免的问题:

    • 不要使用造成不平均树的写法,例如∶<script>document.write("<div>");</script> 要写成 <script>document.write("<div></div>");</script>
    • 记得不要少写了结束符号,例如∶<script>document.write("<div></div");</script>
    • 不要在写入的字串中使用 \r ,例如<script>document.write("Hello World!\r");</script>,应该使用 \n 代替<script>document.write("Hello World!\n");</script>
    • Note that writing balanced tags may cause other tags to be inferred in a way that makes the write unbalanced. E.g. <script>document.write("<div></div>");</script> inside the head element will be interpreted as <script>document.write("</head><body><div></div>");</script> which is unbalanced.
    • Don't let the semicolon of a named character reference be the last thing that is written. Due to a bug in Firefox 4 though 10 (fixed in Firefox 11), <script>document.write("foo&nbsp;");</script> causes a speculation failure. However, <script>document.write("&nbsp;foo");</script> is OK.
    • TODO: document.write inside formatting elements.
    • 本文为转载文章 [原文]
    • 关键字 : script, write, document, unbalanced, state, inside, cause, builder, World, However, Hello, Firefox, 字串中使用, written, writing, which, unusual, trouble, though, thing
    00
    2012-01-12T10:06:00+0000


    • 当您未登入羊皮纸时,可以利用脸书 Facebook 登入来发表回响。若使用羊皮纸会员身份发表回响则可获得经验值及虚拟金币,用来参加羊皮纸推出的活动。
    发表回响
     
    验证字串
    留言