2014-10-28 55 views
0

在IE上,我在Bootstrap模式中包含了一個Colorbox彈出窗口。每當我打開彈出窗口,它會打開,但隨後IE會凍結,我必須停止該進程才能關閉它。它只是完全死了。Jquery Colorbox在包含在引導模式中時凍結IE瀏覽器

我不太確定它爲什麼這樣做,因爲這些示例在IE上運行良好,它只是我的破解。

下面是包含我的colorbox的div。它包含在引導模式中。

<div class='thumbnails-controls'> 
<a colorbox ng-href='{{baseAssetUrl+userID}}/{{asset.asset_uuid}}' class="preview search-thumbnail" title="{{asset.asset_name}}"><i class="icon-search"></i></a> 
<a ng-click="deleteAsset(asset.asset_id)" href="#" title="delete" class="delete-thumbnail"><i class="icon-trash"></i></a> 
</div> 

我也使用AngularJS,我不認爲這會導致問題,會嗎?我想也許這是CSS,所以我評論說,但它仍然凍結了IE瀏覽器。與編碼圖片網址的硬編碼一樣,它仍然凍結。我也嘗試在iFrame中加載圖像,它仍然凍結。我也嘗試過,把ng-href改成了href,但它仍然凍結。

它只在IE中這樣做。其他瀏覽器都能正常工作。我不知道爲什麼這不起作用。

+0

我剛剛註釋掉Bootstrap的導入,它不再凍結。然而,這個項目需要Bootstrap,那麼他們會有衝突的原因嗎? – 2014-10-28 15:34:21

+0

colorbox和bootstrap javascript可能會以某種方式干擾對方,或者可能觸發Angular中意想不到的事情。我會嘗試評論附加到colorbox或bootstrap事件的任何偵聽器或回調。此外,項目所需的模式是否可以分開?進一步的幫助將需要在jsfiddle或codepen中查看JavaScript。 – cjspurgeon 2014-10-28 16:53:47

+0

基本上,客戶點擊一個按鈕並打開他們資產的畫廊。每個資產縮略圖都有一個預覽按鈕,單擊它可打開colorbox模式以顯示完整大小的預覽。 此功能已經完成,這只是一項維護任務,所以我不想重做預覽系統以使用其他庫。 – 2014-10-28 17:01:32

回答

1

看起來這是Bootstrap模式和Colorbox模式之間的重點衝突。無論出於何種原因,IE都在挑剔它,其他瀏覽器更順利地解決了衝突。

通過谷歌和幾個小時的大約10億個不同的搜索詞組合,我發現了this question,這是大約2個引導模式,但它解決了我的問題。

對我來說,從這個問題的工作答案添加

$.fn.modal.Constructor.prototype.enforceFocus = function() {}; 

加載的所有我的JavaScript導入後。經過Chrome,Firefox和IE測試,它似乎工作得很好。

This answer,似乎是一個更好的解決方法,但是,我無法讓它正常工作,只是覆蓋默認行爲爲我工作。