GrapesJS / grapesjs

Free and Open source Web Builder Framework. Next generation tool for building templates without coding
https://grapesjs.com
BSD 3-Clause "New" or "Revised" License
22.36k stars 4.05k forks source link

[question] Cannot read property 'indexOf' of undefined #1908

Closed ProxiBlue closed 5 years ago

ProxiBlue commented 5 years ago

I found a previous result here: https://github.com/artf/grapesjs/issues/1772 however I can still not get it to work, using the most basic setup, as per your guide, and the answer given in that question.

My script:

<script>
    jQuery(document).ready(function () {
        grapesjs.init({
            // Indicate where to init the editor. You can also pass an HTMLElement
            container: '#gjs',
            // Get the content for the canvas directly from the element
            // As an alternative we could use: `components: '<h1>Hello World Component!</h1>'`,
            components: '<h1>Hello World component!</h1>',
            storageManager: {type: null}
        });
    });
</script>

and the page is simply:

image

which results in

jquery.js:3827 Uncaught TypeError: Cannot read property 'indexOf' of undefined
    at grapes.js:6477
    at prototype.js:884
    at prototype.js:825
    at Array.forEach (<anonymous>)
    at Array.each (prototype.js:824)
    at Array.findAll (prototype.js:883)
    at unique (grapes.js:6476)
    at Init.find (grapes.js:7188)
    at child.render (grapes.js:48530)
    at child.addToCollection (grapes.js:48734)

and no functionality.

Any help/advise?

ProxiBlue commented 5 years ago

Ok, so I figured out the issue is prototype.js! The project I am working on also loads prototype, and that is the root cause.

I have tried numerous ways to prevent this, as per https://learn.jquery.com/using-jquery-core/avoid-conflicts-other-libraries/ however nothing shot of removing prototype.js from loading works. (which I cannot do)

Any suggestions?

faaizalikhan1 commented 5 years ago

The same has been happening in my project as well, though I'm not using prototype.js, I hope there is a solution to this, any help would be appreciated!

artf commented 5 years ago

Any suggestions?

If you can't remove prototype from the project the only possible solution I see is to put the editor in an iframe

The same has been happening in my project as well, though I'm not using prototype.js, I hope there is a solution to this, any help would be appreciated!

Well @goprime10 if you're not using prototype.js I'd say it's another kind of issue, "Cannot read property 'indexOf' of undefined" means nothing without, at least, a stack trace. So if you need help, create a new issue, by following the template, please

lock[bot] commented 4 years ago

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.