Giter Club home page Giter Club logo

Comments (7)

spohlenz avatar spohlenz commented on June 19, 2024

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.

dfguo avatar dfguo commented on June 19, 2024

"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.

miloops avatar miloops commented on June 19, 2024

@dfguo did you solve this? I'm having the same problem now.

from tinymce-rails.

nickhammond avatar nickhammond commented on June 19, 2024

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.

badosu avatar badosu commented on June 19, 2024

@spohlenz I noticed this was closed, does it means that this issue was solved?

from tinymce-rails.

spohlenz avatar spohlenz commented on June 19, 2024

@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.

badosu avatar badosu commented on June 19, 2024

@spohlenz Great! Thanks!

from tinymce-rails.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.