是否可以执行使用 pjax 检索到的 Javascript 代码
Is it possible to execute Javascript code that was retrieved using pjax?
假设我有一些简单的Javascript,比如:
<script>
var hello = function(){
alert("Hello World!");
}
</script>
.. 在页面上 你好世界.html.如果我使用 Pjax 将此脚本块加载到另一个页面中。如何执行函数 hello()?
出于安全原因,许多浏览器不会运行innerHTML
注入的Javascript,我认为Pjax可能会使用。(下面是一个最小示例。
也许Pjax的问题#48中提出的解决方案会有所帮助
对我有用的是将我的jQuery代码放在一个函数中,调用它 通常在document.ready上(对于非pushState浏览器),然后绑定 pjax:end的函数,即:
$('body').bind 'pjax:end', mainFunction
这在 PJAX 中是可能的。您只需要具有类型为 text/javascript
的脚本标记。
来自 PJAX 库的代码:
function executeScriptTags(scripts) {
if (!scripts) return
var existingScripts = $('script[src]')
scripts.each(function() {
var src = this.src
var matchedScripts = existingScripts.filter(function() {
return this.src === src
})
if (matchedScripts.length) {
matchedScripts.remove();
}
console.error("FOUND SCRIPTS", scripts, matchedScripts.length);
var script = document.createElement('script')
script.type = $(this).attr('type')
script.src = $(this).attr('src')
document.head.appendChild(script)
})
}
相关文章:
- 在同一页面中检索 JavaScript 中 ArrayList 的值
- 使用 Google Maps API 侦听器时检索 JavaScript 的事件对象
- PHP curl - 可以检索 JavaScript 结果
- 通过 php 从表单中检索 JavaScript 输出
- 从代码隐藏文件 Aspx.cs 中检索 Javascript 中的会话值
- JavaScript:使用函数参数检索 JavaScript 对象键
- 从PHP检索Javascript中的JSON数组
- ASP.NET-如何在页面回发中检索javascript应用的CSS样式
- 如何在服务器端检索javascript函数的结果
- 使用JQUERY中的索引检索JavaScript对象的键
- 抓取网页并检索javascript变量
- 在php变量中检索javascript变量
- 检索javascript数组中的特定元素
- 在cookie中存储/检索Javascript文件对象
- 检索JavaScript文件的内容
- 设置和检索javascript对象的值
- 从URL中检索JavaScript文件并在Java中访问变量
- 是否有可能从服务器检索Javascript文件?
- 在HTML数据属性中存储和检索JavaScript数组
- 正在检索JavaScript函数's的每个网页的参数