2013-07-17 16 views
4

我目前正在獲取頁面的片段並以引導模式加載。當獲取頁面片段時,以引導模式加載腳本

頁面的這個片段包含加載Google地圖所需的jQuery,但是當模式加載內容時,所有腳本都會被剝離,所以隨後地圖不會加載。

即使我直接將腳本插入到模態體類中,它們仍然會被剝離。

對此有沒有解決方法?我們目前使用的觸發模式是什麼

是: -

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

如果需要準確地回答我在使用中可以提供進一步的代碼。

===編輯:提供在要求使用更多的代碼...

所以我們包括觸發引導模式網站範圍的鏈接。觸發模式的鏈接可以在上面看到,here is the rest of the code in relation the modal

我們希望在模式加載的,只是一位在/stores頁面的片段,所有在這個URL加載的代碼可以看出here。儘管如此,我們只是真的希望將第192行的.modal容器中的所有內容加載到內部,但是當必要的腳本駐留在同一個文件中的這個div之外時,我們不會在我們嘗試加載模式時捕獲該內容。所以以前,我們的模式觸發看起來像: -

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

這就促使我們去嘗試,只是包裹整個文件裏面的內容股利和調用它的內容頁面的模式片段,使我們可以拉動必要的腳本需要加載#map_canvas,但唉,所有的腳本被剝離出模態...

希望這給了我們想要實現什麼更大的解釋。

===編輯2:我們通過一個實際的解決方法解決了這個問題,但它是一個龐大的工作,所以會盡快,我可以張貼的答案...

回答

0

我用下面的代碼

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

通過使用這種方法,你將確保你的腳本w ^當你的模態顯示時,你會被加載。這是我發現正確顯示我的模態的唯一工作。

我必須在我的表單上顯示的所有內容(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行,並通過傳遞當前存儲對象來顯示模態中的信息來調用您的模態。

讓我知道是否有幫助。

+0

感謝您的回覆。所有腳本和必要的jQuery都已經在與/ stores對應的頁面上。關於編輯中的觸發器建議,如果我將其更改爲您的建議,則會將整個頁面加載到/ stores,而不是頁面的片段.topclass。 – zigojacko

+0

好吧,我明白了,你是否在gmap div上設置了高度和寬度?你能告訴我更多的代碼嗎? – olamarche

+0

是的,谷歌地圖並不是純粹的加載,因爲它所依賴的jQuery並沒有通過使用畫布的模式進行加載。當然,我已經通過pastebin編輯了提供與此場景有關的完整代碼鏈接的問題,儘管由於代碼量太大。謝謝。 – zigojacko

0

StackOverflow是否改變了你的代碼?

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

你在href裏有類名嗎?這可能是問題的一部分。

相關問題