Where did you install Firefox from? Help Mozilla uncover 3rd party websites that offer problematic Firefox installation by taking part in our campaign. There will be swag, and you'll be featured in our blog if you manage to report at least 10 valid reports!

搜尋 Mozilla 技術支援網站

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

Learn More

After updating server libraries, tinymce popup windows are disconnected from their parent

  • 無回覆
  • 0 有這個問題
  • 1 次檢視
more options

This one really caught me by surprise! I have an internal Django database system. Staff typically use Firefox or Chrome to access it from Linux or Windows machines. As part of this system, it uses Grappelli library which in turn uses TinyMCE V3.5.8. Specifically, in a text box TinyMCE provides advanced editing and fonting. Allows the user to embed links or images. This system was working fine on Django 2.2. My provider (Python Anywhere) retired the server image I was running on, so I updated everything to Django 4.2 on their latest "haggis" system image. Everything seemed to transfer over without any errors - at first. In fact, it was a week later somebody tried to change a font colour by clicking the popup button that opens a colour picker. That pop up looks blank! (its not, the HTML is there but without the custom CSS nothing is visible)

In developer mode on Firefox or Chrome I can see what the problem is: The popup is disconnected from the parent. The parents CSS and classes - specifically tinyMCE - is not present. So its missing the styling and JS to operate. One of the first things the popup JS does is copy in the tinyMCE and tinymce classes from the parent. But they are not there, in fact .opener is null and .parent is stripped down.

What is really weird is on my test server, where I tested everything before updating the live server, it works! The test server uses Django's "runserver" to run a very simple (unsecure) http server just to test code. Whereas the live server is locked on HTTPS.

What confuses me is I don't see any console log messages that would indicate the browser decided to "protect" me. How can I figure out what is going on? Or disable this feature for a test?

I am writing this on my Dev machine using the browser I test with, so I shall try to paste in tech info below.

Just to reiterate, in this browser I can have my test server in one tab, my live server in another tab, test server popup works; live server popup does not.

Thanks in Advance, Richard

This one really caught me by surprise! I have an internal Django database system. Staff typically use Firefox or Chrome to access it from Linux or Windows machines. As part of this system, it uses Grappelli library which in turn uses TinyMCE V3.5.8. Specifically, in a text box TinyMCE provides advanced editing and fonting. Allows the user to embed links or images. This system was working fine on Django 2.2. My provider (Python Anywhere) retired the server image I was running on, so I updated everything to Django 4.2 on their latest "haggis" system image. Everything seemed to transfer over without any errors - at first. In fact, it was a week later somebody tried to change a font colour by clicking the popup button that opens a colour picker. That pop up looks blank! (its not, the HTML is there but without the custom CSS nothing is visible) In developer mode on Firefox or Chrome I can see what the problem is: The popup is disconnected from the parent. The parents CSS and classes - specifically tinyMCE - is not present. So its missing the styling and JS to operate. One of the first things the popup JS does is copy in the tinyMCE and tinymce classes from the parent. But they are not there, in fact .opener is null and .parent is stripped down. What is really weird is on my test server, where I tested everything before updating the live server, it works! The test server uses Django's "runserver" to run a very simple (unsecure) http server just to test code. Whereas the live server is locked on HTTPS. What confuses me is I don't see any console log messages that would indicate the browser decided to "protect" me. How can I figure out what is going on? Or disable this feature for a test? I am writing this on my Dev machine using the browser I test with, so I shall try to paste in tech info below. Just to reiterate, in this browser I can have my test server in one tab, my live server in another tab, test server popup works; live server popup does not. Thanks in Advance, Richard

由 Richard E. Cooke 於 修改

如果您還沒有帳號,您必須先登入帳號 來回覆文章。還沒有帳號的話,只能發問新問題