為了改善您的使用體驗,本網站正在進行維護,部分功能暫時無法使用。若本站的文件無法解決您的問題,想要向社群發問的話,請到 Twitter 上的 @FirefoxSupport 或 Reddit 上的 /r/firefox 發問,我們的社群成員將很快會回覆您的疑問。

搜尋 Mozilla 技術支援網站

防止技術支援詐騙。我們絕對不會要求您撥打電話或發送簡訊,或是提供個人資訊。請用「回報濫用」功能回報可疑的行為。

了解更多

Firefox for iOS does not fire a load event on an iframe element that does not have a src attribute.

  • 1 回覆
  • 1 有這個問題
  • 4 次檢視
  • 最近回覆由 Chris_D

more options

Our application utilises a rich text editor built around jQuery and unfortunately this implementation doesn't work in the iOS version of your Firefox browser:


var me = this; this.$content = $('<iframe style="width: 100%;" frameborder="0"></iframe>').load(function() { initFrame.call(me); });


The key problem here is the load event does not fire. And the load event does not fire here because the iframe has no "src" attribute. If I were to add a "src" attribute, e.g. just pointing to a blank html file, the load event does fire.

This behaviour is totally different from how we have come to expect it to work in other browsers. Chrome and Safari on iOS work as expected. All of the other desktop browsers work as expected, too, including Firefox. I haven't yet tested this on the Android version of iOS.

It's worth noting that the iframe element does not need to have a src attribute in the HTML5 spec. I've also noted that the behaviour doesn't change when adding the srcdoc attribute.

This is also an issue in the Dolphin browser on iOS. FWIW I have created a test case here:

https://xenresources.com/dolphin.html

Note, this should be a completely blank page regardless, but if you visit on Firefox on iOS, nothing will happen. If you visit using any other browser you should get an alert that reads:

"load event fired on iframe"

Our application utilises a rich text editor built around jQuery and unfortunately this implementation doesn't work in the iOS version of your Firefox browser: var me = this; this.$content = $('<iframe style="width: 100%;" frameborder="0"></iframe>').load(function() { initFrame.call(me); }); The key problem here is the load event does not fire. And the load event does not fire here because the iframe has no "src" attribute. If I were to add a "src" attribute, e.g. just pointing to a blank html file, the load event does fire. This behaviour is totally different from how we have come to expect it to work in other browsers. Chrome and Safari on iOS work as expected. All of the other desktop browsers work as expected, too, including Firefox. I haven't yet tested this on the Android version of iOS. It's worth noting that the iframe element does not need to have a src attribute in the HTML5 spec. I've also noted that the behaviour doesn't change when adding the srcdoc attribute. This is also an issue in the Dolphin browser on iOS. FWIW I have created a test case here: https://xenresources.com/dolphin.html Note, this should be a completely blank page regardless, but if you visit on Firefox on iOS, nothing will happen. If you visit using any other browser you should get an alert that reads: "load event fired on iframe"

由 Chris_D 於 修改

所有回覆 (1)

more options

I created a BugZilla report so this question can be closed if desired.

https://bugzilla.mozilla.org/show_bug.cgi?id=1263584