繁体   English   中英

获取页面片段时,在引导模式中加载脚本

[英]Load scripts in bootstrap modal when getting fragment of page

我正在获取页面的片段并加载自举模式。

这个页面片段包含加载谷歌地图所需的jQuery,但是当模态加载内容时,所有脚本都被剥离,因此随后不会加载地图。

即使我直接在modal-body类中插入脚本,它们仍然会被剥离。

对此有解决方法吗?

我们目前用来触发模式的是: -

<a href="/stores .topclass" data-target="#StoresModal" data-toggle="modal">Launch demo modal</a>

如果需要准确回答,我可以提供进一步使用的代码。

===编辑:根据要求提供更多代码使用...

所以我们包括一个触发bootstrap模式的全站点链接。 触发模态的链接可以在上面看到, 这里是与模态相关的其余代码

我们希望在模式中加载的只是/stores页面的一个片段, 这里可以看到加载到此URL的所有代码。 但是,从这个页面来看,我们只是希望在第192行上加载.modal-container内的所有内容,但是由于必要的脚本位于同一个文件中的div之外,我们在尝试加载模态时不会捕获它。 所以以前,我们的模态触发器看起来像: -

<a href="/stores .modal-container" data-target="#StoresModal" data-toggle="modal">Launch demo modal</a>

这导致我们尝试将整个文件内容包装在div中,并将其内容作为模式中的页面片段调用,以便我们可以提取加载#map_canvas所需的必要脚本,但是,所有脚本都被删除了模态。 。

希望这可以更好地解释我们想要实现的目标。

===编辑2:我们实际上通过解决方法解决了这个问题,但这是一项庞大的工作,所以我会尽快发布答案......

我正在使用以下代码加载有关boostrap模式的视图:

 $('[data-toggle="modal"]').click(function(e) {
            e.preventDefault();
            var url = $(this).attr('href');
            if (url.indexOf('#') == 0) {
                $(url).modal('open');
            } else {
                $.get(url, function(data) {
                    $(data).modal();
                }).success(function() { $('input:text:visible:first').focus(); });
            }
        });

使用以下触发器:

<a href="new" role="button" data-backdrop="static" data-keyboard="false" class="btn btn-success" rel="tooltip" data-placement="top" title="text here" data-toggle="modal" alt="text here"><i class="icon-plus icon-white"></i> </a>

通过使用此方法,您将确保在显示模式时将加载所有脚本。 这只是我发现正确显示我的模态的工作。

我必须在我的表单( new.html )上显示的所有内容都将完美显示。

因此,我建议您在与/stores相对应的页面上将所有重新发布的代码放入Google Map

编辑你的触发器应该是:

<a href="/stores" class="topclass" data-target="#StoresModal" data-toggle="modal">Launch demo modal</a>

代替 :

<a href="/stores .topclass" data-target="#StoresModal" data-toggle="modal">Launch demo modal</a>`

EDIT2

我看到的问题是,你的模态包含没有得到JS文件,因为它们不在你的包含部分。 我不是PHP专家,但您可以尝试以下选项:

选项1 (不是很干净)

您可以在<div class="modal-container"></div>添加<script>Google Map required JS File</script>标记,但是您将获得相同JS文件的重复标记。

选项2 (可能吗?)

创建新文件并使用所需的JS文件添加<div class="modal-container"></div>

通过包含新文件替换第192行,并通过传递当前商店对象来调用模态,以便在模态中显示您的信息。

如果有帮助,请告诉我。

StackOverflow改变了你的代码吗?

<a href="/stores .topclass" data-target="#StoresModal" data-toggle="modal">Launch demo modal</a>

你有href中的classname吗? 这可能是问题的一部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM