标签: script-tag

什么时候应该看到<script>标签,为什么呢?

已设置script样式的元素display:block显示为可见.为什么它是可能的,是否有任何真正的用例需要它?

td > * {
  display: block;
}
Run Code Online (Sandbox Code Playgroud)
<table>
  <tr>
    <td>
      <script type="text/javascript">
        var test = 1;
      </script>von 1
    </td>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

html css script-tag

141
推荐指数
4
解决办法
6110
查看次数

如何判断<script>标记是否加载失败

我正在动态地向<script>页面添加标签<head>,我希望能够以某种方式判断加载是否失败 - 404,加载脚本中的脚本错误等等.

在Firefox中,这有效:

var script_tag = document.createElement('script');
script_tag.setAttribute('type', 'text/javascript');
script_tag.setAttribute('src', 'http://fail.org/nonexistant.js');
script_tag.onerror = function() { alert("Loading failed!"); }
document.getElementsByTagName('head')[0].appendChild(script_tag);
Run Code Online (Sandbox Code Playgroud)

但是,这在IE或Safari中不起作用.

有没有人知道如何在Firefox以外的浏览器中使用它?

(我不认为需要在.js文件中放置特殊代码的解决方案是一个很好的解决方案.它不够优雅且不灵活.)

javascript script-tag onerror

103
推荐指数
8
解决办法
12万
查看次数

如何在页面加载后通过jQuery动态插入<script>标记?

我在解决这个问题上遇到了问题.我首先尝试将脚本标记设置为字符串,然后使用jquery replaceWith()在页面加载后将它们添加到文档中:

var a = '<script type="text/javascript">some script here</script>';
$('#someelement').replaceWith(a);
Run Code Online (Sandbox Code Playgroud)

但是我在那个var上得到了字符串文字错误.然后我尝试编码字符串,如:

var a = '&left;script type="text/javascript"&gt;some script here&lt;\/script&gt;';
Run Code Online (Sandbox Code Playgroud)

但发送它replaceWith()只是将该字符串输出到浏览器.

有人可以告诉我你如何<script>在页面加载后动态地将标签添加到浏览器中,理想情况下通过jQuery?

javascript jquery script-tag javascript-injection

95
推荐指数
6
解决办法
22万
查看次数

HTML/Javascript:如何使用src set访问脚本标记中加载的JSON数据

我有我在服务器上生成的JSON文件,因为页面是可见的,所以我想在客户端上访问它.基本上我想要实现的是:

我在我的html文档中声明了以下标记:

<script id="test" type="application/json" src="http://myresources/stuf.json">
Run Code Online (Sandbox Code Playgroud)

源中引用的文件具有JSON数据.正如我所见,数据已经下载,就像脚本一样.

现在,我如何在Javascript中访问它?我已经尝试使用和不使用jQuery访问脚本标记,使用多种方法来尝试获取我的JSON数据,但不知怎的,这不起作用.innerHTML如果json数据是在脚本中内联编写的,那么它本来可行.它不是,而不是我想要实现的目标.

页面加载后的远程JSON请求也不是一个选项,以防您想要建议.

html javascript html5 json script-tag

82
推荐指数
5
解决办法
12万
查看次数

我可以要求浏览器不在元素中运行<script>吗?

是否可以告诉浏览器不要从HTML文档的特定部分运行JavaScript?

喜欢:

<div script="false"> ...
Run Code Online (Sandbox Code Playgroud)

它可以作为一个额外的安全功能.我想要的所有脚本都加载到文档的特定部分.文档的其他部分应该没有脚本,如果不存在则不应该运行.

html javascript script-tag

82
推荐指数
4
解决办法
2万
查看次数

如何从JavaScript中读取脚本标记中的JSON?

我有一个动态生成的页面,我想使用静态JavaScript并将JSON字符串作为参数传递给它.我已经看到了Google使用的这种方法(请参阅Google的+1按钮:他们是如何做到的?).

但是我应该如何从JavaScript中读取JSON字符串?

<html>
  <head>
    <script src="jquery-1.6.2.min.js"></script>
    <script src="myscript.js">{"org": 10, "items":["one","two"]}</script>
  </head>
  <body>
    Hello
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

在这个JavaScript中,我想使用{"org": 10, "items":["one","two"]}HTML文档中的JSON参数.我不知道用jQuery或不用它是否最好.

$(function() {
    // read JSON

    alert("the json is:")
})
Run Code Online (Sandbox Code Playgroud)

javascript json script-tag

71
推荐指数
3
解决办法
7万
查看次数

如何将参数传递给Script标签?

我读了教程: http://drnicwilliams.com/2006/11/21/diy-widgets/由Nic博士为XSS Widgets提供.

我正在寻找一种将参数传递给脚本标签的方法.例如,要进行以下工作:

<script src="http://path/to/widget.js?param_a=1&amp;param_b=3"></script>
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?


更新:两个有趣的链接:

javascript xss parameters widget script-tag

68
推荐指数
9
解决办法
9万
查看次数

如何强制脚本重新加载并重新执行?

我有一个页面正在从第三方加载脚本(新闻源).src脚本的URL在加载时动态分配(每个第三方代码).

<div id="div1287">
    <!-- dynamically-generated elements will go here. -->
</div>

<script id="script0348710783" type="javascript/text">
</script>

<script type="javascript/text">
    document.getElementById('script0348710783').src='http://oneBigHairyURL';
</script>
Run Code Online (Sandbox Code Playgroud)

http://oneBigHairyURL从那时加载的脚本创建并加载元素,其中包含来自新闻源的各种内容,具有漂亮的格式等等div1287(传入Id"div1287",http://oneBigHairyURL以便脚本知道加载内容的位置).

唯一的问题是,它只加载一次.我希望它每n秒重新加载(从而显示新内容).

所以,我想我会试试这个:

<div id="div1287">
    <!-- dynamically-generated elements will go here. -->
</div>

<script id="script0348710783" type="javascript/text">
</script>

<script type="javascript/text">
    loadItUp=function() {
        alert('loading...');
        var divElement = document.getElementById('div1287');
        var scrElement = document.getElementById('script0348710783');

        divElement.innerHTML='';
        scrElement.innerHTML='';
        scrElement.src='';
        scrElement.src='http://oneBigHairyURL';
        setTimeout(loadItUp, 10000);
    };
    loadItUp();
</script>
Run Code Online (Sandbox Code Playgroud)

我收到警报,div清除,但没有动态生成的HTML重新加载到它.

知道我做错了什么吗?

html javascript script-tag news-feed

62
推荐指数
5
解决办法
16万
查看次数

多个与单个脚本标签

使用带有嵌入代码的单个脚本标记或使用遍布HTML的相同代码的多个脚本标记之间是否存在任何差异(性能,最佳实践等)?

例如:

<script>
    foo();
</script>
...
<script>
    bar();
</script>
Run Code Online (Sandbox Code Playgroud)

与:

<script>
    foo();
    bar();
</script>
Run Code Online (Sandbox Code Playgroud)

谢谢

html javascript script-tag

43
推荐指数
1
解决办法
2万
查看次数

HTML标记如何在脚本标记内工作?

例如,Joel Spolsky的公共职业生涯中的观点来源

<script type="text/html" id="stackexchangeanswerswidget">
    <h3>Top Answers</h3>

    <div class="answers">
    </div>

</script>

<script type="text/html" id="topanswer">
    <div class="top-answer">
        <div class="top-answer-stats">{{= shared.htmlEncode(Score) }}</div>
        <span class="top-answer-title"><a href="{{=AnswerLink}}">{{= shared.htmlEncode(Title) }}</a></span>
        <a class="add-answer">add</a>
        <br class="clear" />
    </div>
</script>

<script type="text/html" id="answer-view">
    <div class="answer">
        <div class="answer-stats {{= shared.htmlEncode(Site.toLowerCase().replace(/ /g, '')) }}">
            <div class="score">
                <strong>{{= shared.htmlEncode(Score) }}</strong>
                <div class="votecount">votes</div>
            </div>
            <img class="answer-logo" src="{{= shared.htmlEncode(FaviconUrl) }}" />
        </div>
        <div class="answer-content">
            <span class="q">Q:</span>

            <div class="answer-top">

                <a class="answer-title" href="{{= shared.htmlEncode(AnswerLink) }}">{{= shared.htmlEncode(Title) }}</a><br />
            </div>

            <span class="a">A:</span><div class="answer-body">{{= Body …
Run Code Online (Sandbox Code Playgroud)

html javascript script-tag

27
推荐指数
2
解决办法
4万
查看次数