Comments (7)
Unfortunately I don't think this problem is easily solvable, as the issue has to do with cross-domain JavaScript which of course isn't allowed. The TinyMCE docs has some info here: http://www.tinymce.com/wiki.php/How-to_load_TinyMCE_crossdomain
The only "solution" I can currently think of is to ensure that the issue is documented sufficiently. However I am definitely open to other ideas.
from tinymce-rails.
"This will enable the script to be loaded between two sub domains. For example www.mydomain.com can load TinyMCE from scripts.mydomain.com using the above method. We are currently working on a CDN version that will be able to load TinyMCE from any domain."
So from their side, they are working on a solution too. My current approach is set the base tinymce asset directory to my server instead of uploading to CDN. I will try the suggestion of setting document.domain
from tinymce-rails.
@dfguo did you solve this? I'm having the same problem now.
from tinymce-rails.
Just went through this issue and since TinyMCE has it's own initialization process I wouldn't recommend loading the editor off your CDN and instead rendering it out of public/assets.
If you look at the tinymce-assets.rake file, you'll see that the entire vendor directory of the gem is copied over to public/[assets-prefix]. When it goes to precompile it then just throws the digest versions on S3 so then you get load errors and all kinds of Javascript errors since it has trouble finding the files. TinyMCE internally looks for files like "source_editor.js" but on your CDN you'll only have "source_editor-digest.js".
Another issue is the domain and iframing as you've mentioned. For the app I'm working on everything is over https so we can't point to S3 over http(via a custom cname like assets.example.com) since Chrome and most browsers will block js/css because it has trouble verifying the SSL certificate.
To get this setup and so that the preinit.js file doesn't specify the base path as your CDN, create config/initializers/tinymce.rb with the following:
TinyMCE::Rails::Engine.config.tinymce.base = "/assets/tinymce"
And then instead of using <%= tinymce_assets %>
(This will load over the asset pipeline), just throw a raw %script tag in your head tag:
<script src='/assets/tinymce.js' type='text/javascript'></script>
If there's an option to use javascript_include_tag without the asset pipeline for a particular asset, I'd love to know.
from tinymce-rails.
@spohlenz I noticed this was closed, does it means that this issue was solved?
from tinymce-rails.
@badosu It should be resolved now with TinyMCE 4. Please open a new issue if you encounter any problems. I haven't found any way to make it work with TinyMCE 3.x but will happily accept PRs if you can get it working.
from tinymce-rails.
@spohlenz Great! Thanks!
from tinymce-rails.
Related Issues (20)
- Missing 5.10.5 update HOT 1
- valid_styles compiles incorrectly for v6 HOT 2
- Couldn't find file 'tinymce-jquery' HOT 2
- Configuring init_instance_callback does not work with string or arrow function HOT 3
- Doesn't work with multiple visits HOT 5
- tinymce fonts are not loading correctly HOT 4
- TinyMCE is stripping HTML code for YouTube iFrame embed, therefore the embed is not displaying HOT 2
- Getting Rails 7 Stimulus controllers to work with Tinymce
- Upgraded tinymce-rails from 5.2 to 6.4.2 and default silver theme is not working HOT 3
- How to use it with paid plugins HOT 2
- Does not work with Propshaft / cssbundling-rails,? HOT 3
- Problem with deploy on production HOT 6
- Can't init editor manually HOT 1
- Rails 7 with Importmaps - TinyMCERails is not defined HOT 4
- Question: How to pass api_key with this gem? HOT 1
- Turbo + TinyMCE — doesn't reinit the editor after a Turbo interaction HOT 2
- Update to TinyMCE 7.0.0
- Wrong license on main branch (since version 7) HOT 1
- Missing release/tag - 4.9.11.1 HOT 2
- Any big reason to yank version 7.1.1 released 3 weeks ago? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tinymce-rails.