我想用jquery打印脚本标签的内容是否可能?
的index.html
<script type="text/javascript">
function sendRequest(uri, handler)
{
}
</script>
Run Code Online (Sandbox Code Playgroud)
码
alert($("script")[0].???);
Run Code Online (Sandbox Code Playgroud)
结果
function sendRequest(uri, handler)
{
}
Run Code Online (Sandbox Code Playgroud) 我必须在表中有一个标记,因为PHP在那里编写了一个代码,可以将东西添加到之前创建的Javascript数组中.但是,我收到验证错误(4.01严格).
有什么方法可以做到这一点,或者仅仅禁止保留这样的脚本:
<TABLE>
<TR>
<SCRIPT></SCRIPT>
<TD>
</TD>
</TR>
</TABLE>
Run Code Online (Sandbox Code Playgroud)
(这可能更好吗?):
<TABLE>
<TR>
<TD>
<SCRIPT></SCRIPT>
</TD>
</TR>
</TABLE>
Run Code Online (Sandbox Code Playgroud)
更改doctype?你怎么看?
我正在使用ES6模板文字在字符串中构造一些HTML,到目前为止它一直运行良好.但是,只要我尝试将文字文本</script>放在我的字符串中,浏览器就会抛出并抛出语法错误:
SyntaxError: Unterminated template literal
Run Code Online (Sandbox Code Playgroud)
这是一个简单的JavaScript示例,它会抛出错误:
var str=`
<script>
</script>
`
var pre = document.createElement('pre')
pre.textContent = str
document.body.appendChild(pre)
Run Code Online (Sandbox Code Playgroud)
请参阅JS Fiddle中的上述代码.
似乎正在发生的事情是,它放弃了寻找最终文字引用,而是开始将所有内容视为文字HTML,因此在该点之后的所有JavaScript都被错误地视为HTML,而事实并非如此!
如果我更换script通过任何其他法律HTML标签(甚至是无效的标签,如scripty),那么它工作得很好,所以我不能看到这可怎么可能是一个语法错误或怪异的情况下,我认为我已经输入一个字符(如反击)但是却输入了另一个看起来很像它的东西.
我实际上是在创建一个字符串(据我所知,在编译时),浏览器不应该试图将其视为HTML或以任何方式解析它.什么给出了什么?
我有这个模板,其中包含来自youtube的视频,其中包含swfobject.
有没有办法包含脚本标签......
<script type="text/javascript">
</script>
Run Code Online (Sandbox Code Playgroud)
在jQuery模板里面?
<script id="filaVideoTemplate" type="text/x-jQuery-tmpl">
<!-- Some HTML here -->
<script type="text/javascript">
<!-- Some javascript here -->
</script>
</script>
Run Code Online (Sandbox Code Playgroud)
显然它不能直接工作,有没有办法在没有其他脚本内的脚本的情况下实现同样的事情?
我正在尝试使用React中的dangerouslySetInnerHTML属性设置从我的服务器发送的html以显示div内部.我里面也有脚本标签,并使用html中定义的函数.我在这里用JSFiddle做了错误的例子.
这是测试代码:
var x = '<html><scr'+'ipt>alert("this.is.sparta");function pClicked() {console.log("p is clicked");}</scr'+'ipt><body><p onClick="pClicked()">Hello</p></body></html>';
var Hello = React.createClass({
displayName: 'Hello',
render: function() {
return (<div dangerouslySetInnerHTML={{__html: x}} />);
}
});
Run Code Online (Sandbox Code Playgroud)
我检查并将脚本标记添加到DOM,但无法调用该脚本标记中定义的函数.如果这不是正确的方法,我可以通过其他任何方式注入脚本标记的内容.
声明标签时是否有绝对路径?
如果我在一个文件夹(一个级别)脚本中有一个aspx页面,这将解决 src="../Scripts/jquery-1.4.1.js" type="text/javascript">
如果我在一个文件夹(两级)脚本中有一个aspx页面,这将解决 src="../../Scripts/jquery-1.4.1.js" type="text/javascript">
如果我在主根脚本中有一个aspx页面,这将解决 src="Scripts/jquery-1.4.1.js" type="text/javascript">
我真的需要为每个相对路径创建不同的版本吗?
我想使用jQuery删除此Google Analytics块.
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
//var pageTracker = _gat._getTracker("xxx");
pageTracker._trackPageview();
} catch(err) {}
</script>
Run Code Online (Sandbox Code Playgroud)
原因
因为我正在基于客户端规范为jQuery创建一个定制的屏幕阅读器转换器.谷歌分析是困扰我的.
问题
它.remove()一直工作,直到您离开,然后按回.谷歌分析挂起.
我正在检查html页面上的源代码并遇到了这个问题
<script id="searchItemTemplate" type="text/html">
<# var rows = Math.floor((Model.RecordsPerPage - 1) / 3 + 1);
for (var i = 0; i < rows; ++i){
var startIdx = i * 3;
var endIdx = startIdx + 3;
#>
//etc ....
</script>
Run Code Online (Sandbox Code Playgroud)
我以前从未见过这个.什么是剧本type="text/html".我不知道它是否有所作为,但这是在.aspx页面上.
这是某种占位符需要解析和eval()以后吗?
有谁知道这是什么?
使用这种方法的人可以解释这些好处吗?
我不一定需要在服务器上运行它,但是,我想使用~/js/somefile.js语法.
以前,我刚刚使用绝对路径设置了所有内容,并将我的项目设置为根级别.所以,我只是声明我所有的样式表,背景图片和javascript文件/css/somefile.css
但是,对于此项目,它不以root身份运行.
我不能加上runat="server"脚本标签.
不过,我可以把它放在链接标签上.
这必须是一个常见的问题,只有一些简单的答案.
script-tag ×10
javascript ×8
html ×6
asp.net ×3
jquery ×2
ajax ×1
doctype ×1
ecmascript-6 ×1
reactjs ×1
runatserver ×1
tags ×1
w3c ×1