我需要匹配所有这些开始标记:
<p>
<a href="foo">
Run Code Online (Sandbox Code Playgroud)
但不是这些:
<br />
<hr class="foo" />
Run Code Online (Sandbox Code Playgroud)
我想出了这个,并希望确保我做对了.我只抓住了a-z.
<([a-z]+) *[^/]*?>
Run Code Online (Sandbox Code Playgroud)
我相信它说:
/,然后我有这个权利吗?更重要的是,你怎么看?
我正在开发一个网页,我正在进行一个AJAX调用,返回一大块HTML,如:
<div>
<!-- some html -->
<script type="text/javascript">
/** some javascript */
</script>
</div>
Run Code Online (Sandbox Code Playgroud)
我将整个东西插入DOM,但JavaScript没有运行.有没有办法运行它?
一些细节:我无法控制脚本块中的内容(因此我无法将其更改为可以调用的函数),我只需要执行整个块.我无法在响应上调用eval,因为JavaScript位于更大的HTML块中.我可以做某种正则表达式来分离出JavaScript,然后在它上面调用eval,但这很令人讨厌.谁知道更好的方法?
我在misc中包含了一些相关的内容.通过在<script>标记末尾添加标记<body>然后加载其他javascript文件来添加网页.这个流程有点复杂,所以在问我的问题之前我会尝试解释它:
<script>接近结束元素<body>元素<script>元素<script>元素的src属性指向另一个javascript文件,最终在页面的相应部分注入一些内容.我们使用这种两阶段方法在决定是否包含最终内容之前能够进行一些基本处理,这可能需要一些时间来加载.
问题是IE8(可能是旧版本)加载最后一次javascript两次.似乎设置src属性的行为将触发加载,但是将脚本标记附加到DOM.有什么方法可以避免这种情况吗?
我已经创建了一个问题的简单演示.如果您有某种方式来跟踪HTTP请求,您将看到IE8加载js_test2.js两次.