4

我目前正在获取页面片段并以引导模式加载。

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

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

有没有解决方法呢?

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

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

如果需要准确回答,我可以提供更多正在使用的代码。

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

因此,我们包含了一个触发引导模式的站点范围的链接。上面可以看到触发 modal 的链接,这里是与 modal 相关的其余代码

我们希望在 modal 中加载的只是页面的片段,/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:我们实际上已经通过一种解决方法解决了这个问题,但这是一项艰巨的工作,所以我会尽快发布答案......

4

2 回答 2

0

StackOverflow 是否更改了您的代码?

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

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

于 2013-07-18T09:43:25.630 回答
0

我正在使用以下代码在 boostrap modal 上加载视图:

 $('[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>

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

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

因此,我建议您将所有相关代码Google Map放在对应的页面上/stores

编辑 您的触发器应该是:

<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>`

编辑2

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

选项1(不是很干净)

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

选项2(可能吗?)

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

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

让我知道它是否有帮助。

于 2013-07-17T13:51:44.633 回答