我有一个包含多个容器的页面A,每个容器都加载了页面B的内容。页面B包含<script>
标签中的一些HTML和Javascript。
我现在需要配置页面B中嵌入的JS - 让它知道它已加载到的DOM节点。
不幸的是,不能选择使用URL参数等进行服务器端处理。
简化示例 - 第A页:
<div id="container1"></div>
<div id="container2"></div>
<script type="text/javascript">
$('#container1').load('pageB.html');
$('#container2').load('pageB.html');
</script>
Page B:
<p>Lorem ipsum</p>
<script type="text/javascript">
(function(){
alert('I have been embedded into container #???');
})();
</script>
我看到了实现这个目标的两种基本方法:
For 1。:有没有办法在特定的绑定中执行通过AJAX加载的嵌入式JS /更改页面B中this
的范围?
对于2:是否有跨浏览器方式来获取对当前正在执行的<script>
节点的引用?像Geckos document.currentScript
?
答案 0 :(得分:1)
尝试:
<p>Lorem ipsum</p>
<script type="text/javascript">
(function($){
var $container = $('script:last').parent();
alert('I have been embedded into container #'+$container.attr('id'));
})(jQuery);
</script>