Join the Webstudio community

Updated 4 weeks ago

Why This Script Completely Freezes Webstudio

any reason why this script completely freezes webstudio?

Plain Text
<div id="ecwid-widget-placeholder" class="ecsp ecsp-SingleProduct-v2 ecsp-Product ec-Product-3290828" itemtype="http://schema.org/Product" data-single-product-id="3290828">
    <div customprop="options"></div>
    <div customprop="qty"></div>
    <div customprop="addtobag"></div>
</div>

<script data-cfasync="false" type="text/javascript" src="https://app.ecwid.com/script.js?260044&data_platform=singleproduct_v2" charset="utf-8"></script>
<script type="text/javascript">
    function initializeWidget() {
        if (window.Ecwid) {
            Ecwid.OnAPILoaded.add(function() {
                xProduct();
            });
        }
    }

    // Initial widget initialization
    initializeWidget();

    // Use MutationObserver to detect when the relevant page is active
    let observer = new MutationObserver(function(mutations) {
        mutations.forEach(function(mutation) {
            if (document.contains(document.getElementById('ecwid-widget-placeholder'))) {
                // Re-initialize the widget
                initializeWidget();
            }
        });
    });

    // Configuration of the observer:
    let config = { childList: true, subtree: true };

    // Pass in the target node, as well as the observer options
    observer.observe(document.body, config);
</script>
O
D
72 comments
that mutation observer logic looks evil
reinitializing something on mutation is a recipe for infinite loop
k, kinda figured it was not ideal when i did a search for what it's doing. just having a hell of a time including scripts for this ecwid integration. Same thing with swiper js, if I browse to another page and come back to page where script needs to be it just doesn't work.
yep, all this embed html stuff is actually terrible, because its not properly integrated with components lifecycle
We are having this jus because we haven't gotten to component authoring yet.
Code needs to be aware of the navigation, because it doesn't do a full page reload, it rerenders onnly whants necessary and scripts need to react to this
with components this is happening mostly automatically
but we need to build them and bundle them as if they are built-in
right now we need to show how to write an html embed so that it works with both reload and navigation
if your script is client only, it is being reexecuted every time page switches
so you can already assume it is being reinitialized, don't need to do observing
@Oleg Isonen so is there a particular way we should be embedding javascript to ensure that it works while browsing different pages of a project?
Plain Text
(function render() {
  if (document.readyState !== 'complete') {
    console.log('Document not ready, adding listener.');
    document.addEventListener('DOMContentLoaded', render);
    return;
  }

  console.log('Document is ready.');

  // Add your javascript here

})();
This seems to work which is what you provided for me last week
@TrySound we really need to define and document the best possible way that works for everyone
i think that would be very helpful
this seems to work sometimes as I still get "document not ready, adding listener"
@Oleg Isonen are there any specific events that indicate page/content has changed?
i'm just having a hell of time getting scripts to work once navigating away from page and coming back to page with javascript I'm using to add product to cart. Works just fine when I initially go to the page but when I navigate back to a product details page javascript doesn't seem to work anymore.
let me discuss the best way with @TrySound for this, hold on
there is navigation events but you want not just a navigation event, you want the time when dom tree was updated and your script can access it
effectively the bests time is when script is literally being executed
the problem is when you combine in one html embed external scripts and inline scripts
your inline scripts execute without waiting for the external once
ecwid is also adding script into the dom as well which seems to be probmatic
they have a javascript SDK which is really what I should be using
easy way to do it is to put external once into the project settings and only use html embed for the activaction code
probably best to shelf this for now and just wait for added functionality
will wait for bogdan but for now, I'm not going to dedicate anymore time on this
when we can author components, this is going to be cake
Looking at your code above, the problem is really the script with external source and inline script all in one embed
need to check but generally what should work:

  1. this in the project settings
Plain Text
<script defer src="https://app.ecwid.com/script.js?260044&data_platform=singleproduct_v2" ></script>


  1. and this in the html embed
Plain Text
<div id="ecwid-widget-placeholder" class="ecsp ecsp-SingleProduct-v2 ecsp-Product ec-Product-3290828" itemtype="http://schema.org/Product" data-single-product-id="3290828">
    <div customprop="options"></div>
    <div customprop="qty"></div>
    <div customprop="addtobag"></div>
</div>

<script type="text/javascript">
  if (window.Ecwid) {
      Ecwid.OnAPILoaded.add(function() {
          xProduct();
      });
  }
</script>
Thanks I'll check it out after picking my son up from school.
Btw that's older code as I'm using their JavaScript API to add product to cart based on data attributes. I copied the project which is why your seeing the older code. Ill probably just use their instant store embed for now.
I am guessing instant store is a client-only thing, so no SEO and no styling over webstudio
@Oleg Isonen yea it's basically just an ajax site but you can manage meta tags for seo within their backend. I just don't like the designs and you don't really have any flexibility to create your own store which is what I'm wanting to do with webstudio. However, I may just bite the bullet for the time being and migrate this client over to web studio because I'm tired of dealing with wordpress.
@Oleg Isonen any update on being able to detect changes in the URL in a way that can be detected without direct access to the internal state or navigation events?
did you try what I posted above?
one problem will be when combining header scripts and htmlembed is that this won't work in preview since we don't render header scripts in preview
yes I did but unfortunately didn't work
if you need to be able to preview this we need to load the script dependency differently
I've managed to embed ecwid instant site, however, same issue when navigating away and back to the page with embed code, stops working
i'll send preview here in a bit
what should I click?
you can click any of the products on that page to navigate within the ewcid instant site
then just click home link and then click "reviews" which will bring you back to page with ecwid embed code
Plain Text
<div id="my-categories-1003"></div>
<div id="my-search-1003"></div>
<div class="ec-cart-widget"></div>
<div id="my-store-1003"></div>

<script>
  window.ecwid_script_defer = true;
  
  var script = document.createElement('script');
  script.charset = 'utf-8';
  script.type = 'text/javascript';
  script.src = 'https://app.ecwid.com/script.js?260044';

  document.getElementById('my-store-1003').appendChild(script);

  window._xnext_initialization_scripts = [
      // Storefront widget
      { 
        widgetType: 'ProductBrowser', id: 'my-store-1003', arg: [
          'id=my-store-1003'
        ] 
      },
      // Horizontal categories widget
      { 
        widgetType: 'CategoriesV2', id: 'id=my-categories-1003', arg: [
          'id=my-categories-1003'
        ] 
      },
      // Search widget
      { 
        widgetType: 'SearchWidget', id: 'my-search-1003', arg: [
          'id=my-search-1003'
        ] 
      },
      // 'Buy now' button for product
      { 
        widgetType: 'SingleProduct', id: 'Product-1', arg: [
          'id=Product-1'
        ]
      }
  ];

// Initialize Minicart Widget. A div with class '.ec-cart-widget' must be present on a page  
  
  Ecwid.init();

</script>
for testing I didn't include the script in the project settings
i can add it there real quick tho
instead of doing this

document.getElementById('my-store-1003').appendChild(script);

do

document.head.appendChild(script)
additionally Ecwid.init(); needs to wait until script is loaded
Plain Text
var script = document.createElement('script');
script.src = 'https://app.ecwid.com/script.js?260044';
script.onload = Ecwid.init
document.head.appendChild(script)
this way you start init when script is being loaded
sorry for the delay, I updated per your instructions:

preview:
https://leather-lid-inserts-copy-dz9k5.wstd.io/store

Project settings code:
Plain Text
<script data-cfasync="false" type="text/javascript" src="https://app.ecwid.com/script.js?260044&data_platform=code&data_date=2024-02-27" charset="utf-8" defer></script>


Embed HTML:
Plain Text
<div id="my-store-260044"></div>
<script type="text/javascript">
    if (window.Ecwid) {
      Ecwid.OnAPILoaded.add(function() {
          xProductBrowser("categoriesPerRow=3","views=grid(20,3) list(60) table(60)","categoryView=grid","searchView=list","id=my-store-260044");
      });
  }
</script>
if you click home link then click "reviews (default dummy page for embed ewcid code)" it looks like it wants to add the products
I am a bit lost with which scenario are we testing etc
we are discussing 2 different methods at the same time
we are testing your method right now
and its not rendering anything at all, right?
I don't see errors, need to assume its not getting into that OnAPILOaded callback
i can get it to load by just using "xProductBrowser("categoriesPerRow=3","views=grid(20,3) list(60) table(60)","categoryView=grid","searchView=list","id=my-store-260044");" without the onapiload callback
however, same issue, navigate and come back doesn't display
dm me an admin link pls
without callback
Uncaught ReferenceError: xProductBrowser is not defined
right now its broken
Add a reply
Sign up and join the conversation on Discord
\n","answerCount":72,"upvoteCount":0,"datePublished":"2024-02-26T02:32:48.872Z","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"},"suggestedAnswer":[{"@type":"Answer","text":"that mutation observer logic looks evil","upvoteCount":0,"dateCreated":"2024-02-26T02:50:27.389Z","datePublished":"2024-02-26T02:50:27.389Z","dateModified":"2024-02-26T02:50:27.389Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#0b1ba273-c58e-4ea8-9840-277ef8cd070a","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"reinitializing something on mutation is a recipe for infinite loop","upvoteCount":0,"dateCreated":"2024-02-26T02:50:48.169Z","datePublished":"2024-02-26T02:50:48.169Z","dateModified":"2024-02-26T02:50:48.169Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#c9dd8d19-e04c-4a0c-b0e9-25d0980b805d","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"k, kinda figured it was not ideal when i did a search for what it's doing. just having a hell of a time including scripts for this ecwid integration. Same thing with swiper js, if I browse to another page and come back to page where script needs to be it just doesn't work.","upvoteCount":0,"dateCreated":"2024-02-26T02:51:39.709Z","datePublished":"2024-02-26T02:51:39.709Z","dateModified":"2024-02-26T02:51:39.709Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#3dbb4796-efbd-48db-9b7a-53aa1850ebc2","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"yep, all this embed html stuff is actually terrible, because its not properly integrated with components lifecycle","upvoteCount":0,"dateCreated":"2024-02-26T08:43:58.680Z","datePublished":"2024-02-26T08:43:58.680Z","dateModified":"2024-02-26T08:43:58.680Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#990e395f-def9-4fb2-a52f-97dd36b90242","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"We are having this jus because we haven't gotten to component authoring yet.","upvoteCount":0,"dateCreated":"2024-02-26T08:44:24.315Z","datePublished":"2024-02-26T08:44:24.315Z","dateModified":"2024-02-26T08:44:24.315Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#87fe2276-e0b5-4f59-8959-6c0f403a477c","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"Code needs to be aware of the navigation, because it doesn't do a full page reload, it rerenders onnly whants necessary and scripts need to react to this","upvoteCount":0,"dateCreated":"2024-02-26T08:44:57.197Z","datePublished":"2024-02-26T08:44:57.197Z","dateModified":"2024-02-26T08:44:57.197Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#f4e16c42-26b1-49d4-b991-4e8d4c605621","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"with components this is happening mostly automatically","upvoteCount":0,"dateCreated":"2024-02-26T08:45:13.359Z","datePublished":"2024-02-26T08:45:13.359Z","dateModified":"2024-02-26T08:45:13.359Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#741ecf6a-8410-4d10-a7cf-5446f1829479","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"but we need to build them and bundle them as if they are built-in","upvoteCount":0,"dateCreated":"2024-02-26T08:45:45.349Z","datePublished":"2024-02-26T08:45:45.349Z","dateModified":"2024-02-26T08:45:45.349Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#e4937686-fd25-42c2-ab73-40e7d29b5198","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"right now we need to show how to write an html embed so that it works with both reload and navigation","upvoteCount":0,"dateCreated":"2024-02-26T08:46:15.372Z","datePublished":"2024-02-26T08:46:15.372Z","dateModified":"2024-02-26T08:46:15.372Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#154cb460-cfd3-437c-8aa6-d6b64e86bd10","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"if your script is client only, it is being reexecuted every time page switches","upvoteCount":0,"dateCreated":"2024-02-26T08:47:12.797Z","datePublished":"2024-02-26T08:47:12.797Z","dateModified":"2024-02-26T08:47:12.797Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#bd87c631-a5b5-4cba-984e-a8a48d0e3731","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"so you can already assume it is being reinitialized, don't need to do observing","upvoteCount":0,"dateCreated":"2024-02-26T08:47:35.433Z","datePublished":"2024-02-26T08:47:35.433Z","dateModified":"2024-02-26T08:47:35.433Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#1903736e-d522-4b1c-95e0-5c40db53afac","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"@Oleg Isonen so is there a particular way we should be embedding javascript to ensure that it works while browsing different pages of a project?","upvoteCount":0,"dateCreated":"2024-02-26T13:25:27.767Z","datePublished":"2024-02-26T13:25:27.767Z","dateModified":"2024-02-26T13:25:27.767Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#25c2c678-0941-46fe-bded-996a4717aa47","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"(function render() { if (document.readyState !== 'complete') { console.log('Document not ready, adding listener.'); document.addEventListener('DOMContentLoaded', render); return; } console.log('Document is ready.'); // Add your javascript here })();","upvoteCount":0,"dateCreated":"2024-02-26T13:26:50.997Z","datePublished":"2024-02-26T13:26:50.997Z","dateModified":"2024-02-26T13:26:50.997Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#31da5fc5-601f-4720-b2e7-c59c8537f292","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"This seems to work which is what you provided for me last week","upvoteCount":0,"dateCreated":"2024-02-26T13:26:59.300Z","datePublished":"2024-02-26T13:26:59.300Z","dateModified":"2024-02-26T13:26:59.300Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#bc8adf06-06a0-468f-afc9-a86856182a0b","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"@TrySound we really need to define and document the best possible way that works for everyone","upvoteCount":0,"dateCreated":"2024-02-26T13:27:05.803Z","datePublished":"2024-02-26T13:27:05.803Z","dateModified":"2024-02-26T13:27:05.803Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#36c6abed-aa1e-498f-9c65-4fb8d89b6bb5","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"i think that would be very helpful","upvoteCount":0,"dateCreated":"2024-02-26T13:40:11.136Z","datePublished":"2024-02-26T13:40:11.136Z","dateModified":"2024-02-26T13:40:11.136Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#e1111be1-f225-46a9-9f77-31eee4afb1f9","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"this seems to work sometimes as I still get \"document not ready, adding listener\"","upvoteCount":0,"dateCreated":"2024-02-26T13:40:58.029Z","datePublished":"2024-02-26T13:40:58.029Z","dateModified":"2024-02-26T13:40:58.029Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#e6bff7c3-bc1a-4566-8774-1197b320ceaf","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"@Oleg Isonen are there any specific events that indicate page/content has changed?","upvoteCount":0,"dateCreated":"2024-02-26T20:56:23.955Z","datePublished":"2024-02-26T20:56:23.955Z","dateModified":"2024-02-26T20:56:23.955Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#52908c6b-69e9-4455-8438-27ef4d3c40af","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"i'm just having a hell of time getting scripts to work once navigating away from page and coming back to page with javascript I'm using to add product to cart. Works just fine when I initially go to the page but when I navigate back to a product details page javascript doesn't seem to work anymore.","upvoteCount":0,"dateCreated":"2024-02-26T20:58:13.640Z","datePublished":"2024-02-26T20:58:13.640Z","dateModified":"2024-02-26T20:58:13.640Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#3b21b88a-7077-4204-b900-e414d83d0ce1","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"let me discuss the best way with @TrySound for this, hold on","upvoteCount":0,"dateCreated":"2024-02-26T21:19:54.133Z","datePublished":"2024-02-26T21:19:54.133Z","dateModified":"2024-02-26T21:19:54.133Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#7667d13d-eb3a-4d20-8054-f84e89f57d87","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"there is navigation events but you want not just a navigation event, you want the time when dom tree was updated and your script can access it","upvoteCount":0,"dateCreated":"2024-02-26T21:20:30.552Z","datePublished":"2024-02-26T21:20:30.552Z","dateModified":"2024-02-26T21:20:30.552Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#4122bd72-8185-4476-846c-0ee83acc86f2","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"effectively the bests time is when script is literally being executed","upvoteCount":0,"dateCreated":"2024-02-26T21:20:47.055Z","datePublished":"2024-02-26T21:20:47.055Z","dateModified":"2024-02-26T21:20:47.055Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#cd52ebab-4caa-40fe-9cb0-c9d9cf059cec","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"the problem is when you combine in one html embed external scripts and inline scripts","upvoteCount":0,"dateCreated":"2024-02-26T21:21:11.751Z","datePublished":"2024-02-26T21:21:11.751Z","dateModified":"2024-02-26T21:21:11.751Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#32853dfb-8d07-48eb-8d89-6782203ae8b4","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"your inline scripts execute without waiting for the external once","upvoteCount":0,"dateCreated":"2024-02-26T21:21:25.609Z","datePublished":"2024-02-26T21:21:25.609Z","dateModified":"2024-02-26T21:21:25.609Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#4ac8bc8f-82c0-42dc-a803-4a20d71a6a45","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"ecwid is also adding script into the dom as well which seems to be probmatic","upvoteCount":0,"dateCreated":"2024-02-26T21:21:42.417Z","datePublished":"2024-02-26T21:21:42.417Z","dateModified":"2024-02-26T21:21:42.417Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#e995d09c-9bb6-42e7-9505-331d3c8f7e01","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"they have a javascript SDK which is really what I should be using","upvoteCount":0,"dateCreated":"2024-02-26T21:21:53.498Z","datePublished":"2024-02-26T21:21:53.498Z","dateModified":"2024-02-26T21:21:53.498Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#9b7cec85-5b05-4f91-bfa4-1b6f9e434fa4","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"easy way to do it is to put external once into the project settings and only use html embed for the activaction code","upvoteCount":0,"dateCreated":"2024-02-26T21:21:56.778Z","datePublished":"2024-02-26T21:21:56.778Z","dateModified":"2024-02-26T21:21:56.778Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#82bbe37c-593b-4af8-8e50-e9de40314626","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"probably best to shelf this for now and just wait for added functionality","upvoteCount":0,"dateCreated":"2024-02-26T21:22:05.523Z","datePublished":"2024-02-26T21:22:05.523Z","dateModified":"2024-02-26T21:22:05.523Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#f05620f9-d13b-4aa6-bfed-e5bda51110fe","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"will wait for bogdan but for now, I'm not going to dedicate anymore time on this","upvoteCount":0,"dateCreated":"2024-02-26T21:23:38.883Z","datePublished":"2024-02-26T21:23:38.883Z","dateModified":"2024-02-26T21:23:38.883Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#baee072f-db46-4b4b-b5ad-3f66f93695ee","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"when we can author components, this is going to be cake","upvoteCount":0,"dateCreated":"2024-02-26T21:24:35.278Z","datePublished":"2024-02-26T21:24:35.278Z","dateModified":"2024-02-26T21:24:35.278Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#4dbf0c9d-46e0-497e-bab6-127df54eb9cc","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"Looking at your code above, the problem is really the script with external source and inline script all in one embed","upvoteCount":0,"dateCreated":"2024-02-26T21:26:25.125Z","datePublished":"2024-02-26T21:26:25.125Z","dateModified":"2024-02-26T21:26:25.125Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#54cfd4a5-f8ab-47aa-a6c1-517d66975608","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"need to check but generally what should work:this in the project settingsand this in the html embed
\n
","upvoteCount":0,"dateCreated":"2024-02-26T21:28:32.492Z","datePublished":"2024-02-26T21:28:32.492Z","dateModified":"2024-02-26T21:28:32.492Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#aae8770a-7498-43f5-b990-8f16df5e14e2","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"Thanks I'll check it out after picking my son up from school.","upvoteCount":0,"dateCreated":"2024-02-26T21:52:20.354Z","datePublished":"2024-02-26T21:52:20.354Z","dateModified":"2024-02-26T21:52:20.354Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#492a5aaa-43dd-4aa4-853d-f9d6f217ab61","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"Btw that's older code as I'm using their JavaScript API to add product to cart based on data attributes. I copied the project which is why your seeing the older code. Ill probably just use their instant store embed for now.","upvoteCount":0,"dateCreated":"2024-02-26T21:55:42.482Z","datePublished":"2024-02-26T21:55:42.482Z","dateModified":"2024-02-26T21:55:42.482Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#353762fa-c944-4749-b792-3dace512c9c9","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"I am guessing instant store is a client-only thing, so no SEO and no styling over webstudio","upvoteCount":0,"dateCreated":"2024-02-26T22:38:51.761Z","datePublished":"2024-02-26T22:38:51.761Z","dateModified":"2024-02-26T22:38:51.761Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#b0ffa11a-4f98-4f14-8a43-b7dc0ca083ff","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"@Oleg Isonen yea it's basically just an ajax site but you can manage meta tags for seo within their backend. I just don't like the designs and you don't really have any flexibility to create your own store which is what I'm wanting to do with webstudio. However, I may just bite the bullet for the time being and migrate this client over to web studio because I'm tired of dealing with wordpress.","upvoteCount":0,"dateCreated":"2024-02-26T22:55:00.997Z","datePublished":"2024-02-26T22:55:00.997Z","dateModified":"2024-02-26T22:55:00.997Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#4be70ac6-ccf3-4d52-a8b3-0c47d5d3e051","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"@Oleg Isonen any update on being able to detect changes in the URL in a way that can be detected without direct access to the internal state or navigation events?","upvoteCount":0,"dateCreated":"2024-02-27T16:31:16.147Z","datePublished":"2024-02-27T16:31:16.147Z","dateModified":"2024-02-27T16:31:16.147Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#e594684b-19af-430a-92ac-5a6c517cef92","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"did you try what I posted above?","upvoteCount":0,"dateCreated":"2024-02-27T16:32:45.642Z","datePublished":"2024-02-27T16:32:45.642Z","dateModified":"2024-02-27T16:32:45.642Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#38ced270-4cd4-416f-9af2-c96fa11bab35","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"one problem will be when combining header scripts and htmlembed is that this won't work in preview since we don't render header scripts in preview","upvoteCount":0,"dateCreated":"2024-02-27T16:33:20.325Z","datePublished":"2024-02-27T16:33:20.325Z","dateModified":"2024-02-27T16:33:20.325Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#ef97f8f9-01de-4a2a-b7f0-8a8bdb0a8040","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"yes I did but unfortunately didn't work","upvoteCount":0,"dateCreated":"2024-02-27T16:33:31.015Z","datePublished":"2024-02-27T16:33:31.015Z","dateModified":"2024-02-27T16:33:31.015Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#239949c3-9f90-4312-b92f-11ad513e1f0c","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"if you need to be able to preview this we need to load the script dependency differently","upvoteCount":0,"dateCreated":"2024-02-27T16:33:49.207Z","datePublished":"2024-02-27T16:33:49.207Z","dateModified":"2024-02-27T16:33:49.207Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#28013c83-d182-4b14-868a-87af92111351","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"I've managed to embed ecwid instant site, however, same issue when navigating away and back to the page with embed code, stops working","upvoteCount":0,"dateCreated":"2024-02-27T16:33:53.995Z","datePublished":"2024-02-27T16:33:53.995Z","dateModified":"2024-02-27T16:33:53.995Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#05aeaa06-d28e-4aae-b804-509eeba9e556","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"i'll send preview here in a bit","upvoteCount":0,"dateCreated":"2024-02-27T16:34:08.158Z","datePublished":"2024-02-27T16:34:08.158Z","dateModified":"2024-02-27T16:34:08.158Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#0178bdfd-2d56-4656-8405-534ef511d01e","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"https://leather-lid-inserts-copy-dz9k5.wstd.io/store/","upvoteCount":0,"dateCreated":"2024-02-27T16:35:25.032Z","datePublished":"2024-02-27T16:35:25.032Z","dateModified":"2024-02-27T16:35:25.032Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#3151bff3-394a-473b-bbc1-3fd8f848e6e0","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"what should I click?","upvoteCount":0,"dateCreated":"2024-02-27T16:37:17.112Z","datePublished":"2024-02-27T16:37:17.112Z","dateModified":"2024-02-27T16:37:17.112Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#4ba18f75-b069-4f24-b914-eef292813d6c","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"you can click any of the products on that page to navigate within the ewcid instant site","upvoteCount":0,"dateCreated":"2024-02-27T16:37:46.743Z","datePublished":"2024-02-27T16:37:46.743Z","dateModified":"2024-02-27T16:37:46.743Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#b7796f9d-f47b-4c44-8d3f-5981e9ef844c","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"then just click home link and then click \"reviews\" which will bring you back to page with ecwid embed code","upvoteCount":0,"dateCreated":"2024-02-27T16:38:05.037Z","datePublished":"2024-02-27T16:38:05.037Z","dateModified":"2024-02-27T16:38:05.037Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#1820e73b-98af-467c-acea-a85a1207d86f","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"
\n
\n
\n
","upvoteCount":0,"dateCreated":"2024-02-27T16:38:28.842Z","datePublished":"2024-02-27T16:38:28.842Z","dateModified":"2024-02-27T16:38:28.842Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#c2dbd740-79d6-4195-99a5-e724a32b0498","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"for testing I didn't include the script in the project settings","upvoteCount":0,"dateCreated":"2024-02-27T16:38:37.739Z","datePublished":"2024-02-27T16:38:37.739Z","dateModified":"2024-02-27T16:38:37.739Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#e2c36aa6-0751-4612-8fd4-11ec1dc2cd10","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"i can add it there real quick tho","upvoteCount":0,"dateCreated":"2024-02-27T16:38:40.502Z","datePublished":"2024-02-27T16:38:40.502Z","dateModified":"2024-02-27T16:38:40.502Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#13810880-717b-4b65-a7ed-93b352cdad1f","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"instead of doing this document.getElementById('my-store-1003').appendChild(script);dodocument.head.appendChild(script)","upvoteCount":0,"dateCreated":"2024-02-27T17:15:42.876Z","datePublished":"2024-02-27T17:15:42.876Z","dateModified":"2024-02-27T17:15:42.876Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#94d38fe8-ebe7-48fc-a465-cd1353286fd2","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"additionally Ecwid.init(); needs to wait until script is loaded","upvoteCount":0,"dateCreated":"2024-02-27T17:16:03.088Z","datePublished":"2024-02-27T17:16:03.088Z","dateModified":"2024-02-27T17:16:03.088Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#87316050-7096-40ea-a01f-e0e5658507cf","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"var script = document.createElement('script');\nscript.src = 'https://app.ecwid.com/script.js?260044';\nscript.onload = Ecwid.init\ndocument.head.appendChild(script)","upvoteCount":0,"dateCreated":"2024-02-27T17:16:22.949Z","datePublished":"2024-02-27T17:16:22.949Z","dateModified":"2024-02-27T17:16:22.949Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#668bb2cf-d97a-4de1-bcbc-88837d8d92ae","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"this way you start init when script is being loaded","upvoteCount":0,"dateCreated":"2024-02-27T17:17:02.288Z","datePublished":"2024-02-27T17:17:02.288Z","dateModified":"2024-02-27T17:17:02.288Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#6af2a578-a46e-41fc-9ea1-ec3a9d6c0af4","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"sorry for the delay, I updated per your instructions:preview:https://leather-lid-inserts-copy-dz9k5.wstd.io/storeProject settings code:Embed HTML:
\n","upvoteCount":0,"dateCreated":"2024-02-27T17:17:34.011Z","datePublished":"2024-02-27T17:17:34.011Z","dateModified":"2024-02-27T17:17:34.011Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#2ff25609-8455-4612-983c-846748b0c1f6","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"if you click home link then click \"reviews (default dummy page for embed ewcid code)\" it looks like it wants to add the products","upvoteCount":0,"dateCreated":"2024-02-27T17:18:04.029Z","datePublished":"2024-02-27T17:18:04.029Z","dateModified":"2024-02-27T17:18:04.029Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#f464b8f7-9ee4-4f12-8510-c3655f7dff74","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"I am a bit lost with which scenario are we testing etc","upvoteCount":0,"dateCreated":"2024-02-27T17:20:44.447Z","datePublished":"2024-02-27T17:20:44.447Z","dateModified":"2024-02-27T17:20:44.447Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#3d2a9afd-1685-4f83-a892-4875772c73ba","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"we are discussing 2 different methods at the same time","upvoteCount":0,"dateCreated":"2024-02-27T17:20:55.036Z","datePublished":"2024-02-27T17:20:55.036Z","dateModified":"2024-02-27T17:20:55.036Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#3b9f8d07-9080-4a6a-bdc6-e588c3974e39","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"we are testing your method right now","upvoteCount":0,"dateCreated":"2024-02-27T17:21:47.333Z","datePublished":"2024-02-27T17:21:47.333Z","dateModified":"2024-02-27T17:21:47.333Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#8bc4be7e-a8f0-4b7b-9925-d6bf791b6ca7","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"https://discord.com/channels/955905230107738152/1211501091737313321/1211786372579467274","upvoteCount":0,"dateCreated":"2024-02-27T17:22:06.331Z","datePublished":"2024-02-27T17:22:06.331Z","dateModified":"2024-02-27T17:22:06.331Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#614ccdac-7368-42ac-8caf-176ef62ca134","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"and its not rendering anything at all, right?","upvoteCount":0,"dateCreated":"2024-02-27T17:29:24.460Z","datePublished":"2024-02-27T17:29:24.460Z","dateModified":"2024-02-27T17:29:24.460Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#2a5ab662-944f-43e4-a161-9481154ce4b2","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"right","upvoteCount":0,"dateCreated":"2024-02-27T17:29:29.293Z","datePublished":"2024-02-27T17:29:29.293Z","dateModified":"2024-02-27T17:29:29.293Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#e1a94126-c8f6-4a3f-8687-ae0331b6db97","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"I don't see errors, need to assume its not getting into that OnAPILOaded callback","upvoteCount":0,"dateCreated":"2024-02-27T17:29:56.264Z","datePublished":"2024-02-27T17:29:56.264Z","dateModified":"2024-02-27T17:29:56.264Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#fa3644b1-06da-42d9-bf55-1ca7716888b7","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"i can get it to load by just using \"xProductBrowser(\"categoriesPerRow=3\",\"views=grid(20,3) list(60) table(60)\",\"categoryView=grid\",\"searchView=list\",\"id=my-store-260044\");\" without the onapiload callback","upvoteCount":0,"dateCreated":"2024-02-27T17:30:14.230Z","datePublished":"2024-02-27T17:30:14.230Z","dateModified":"2024-02-27T17:30:14.230Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#96d52327-a25a-49b5-aa72-ee48405e46f9","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"however, same issue, navigate and come back doesn't display","upvoteCount":0,"dateCreated":"2024-02-27T17:30:22.725Z","datePublished":"2024-02-27T17:30:22.725Z","dateModified":"2024-02-27T17:30:22.725Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#2accf941-04fc-4275-bf03-8867affa3180","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"let me try","upvoteCount":0,"dateCreated":"2024-02-27T17:31:47.240Z","datePublished":"2024-02-27T17:31:47.240Z","dateModified":"2024-02-27T17:31:47.240Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#344d81f7-c4cc-4a21-9b1b-b5e0eedba5fc","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"dm me an admin link pls","upvoteCount":0,"dateCreated":"2024-02-27T17:32:00.105Z","datePublished":"2024-02-27T17:32:00.105Z","dateModified":"2024-02-27T17:32:00.105Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#d01ad273-3a6a-447d-bf2a-bf8b10698379","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"sure","upvoteCount":0,"dateCreated":"2024-02-27T17:32:18.005Z","datePublished":"2024-02-27T17:32:18.005Z","dateModified":"2024-02-27T17:32:18.005Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#b2e0e35b-9df0-4e7a-aa35-3488b8a6cc18","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"loads on this page btw: https://leather-lid-inserts-copy-dz9k5.wstd.io/test","upvoteCount":0,"dateCreated":"2024-02-27T17:32:28.351Z","datePublished":"2024-02-27T17:32:28.351Z","dateModified":"2024-02-27T17:32:28.351Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#efbf6f6b-bb2e-4098-8877-87542c0fb575","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"without callback","upvoteCount":0,"dateCreated":"2024-02-27T17:32:31.676Z","datePublished":"2024-02-27T17:32:31.676Z","dateModified":"2024-02-27T17:32:31.676Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#58f9e36e-9b31-4e6b-a71d-63e46ed1b74a","author":{"@type":"Person","url":"https://help.webstudio.is/members/4909993b-8f86-4e28-b78d-3d611b93f9f4","name":"Dirky Dirk","identifier":"4909993b-8f86-4e28-b78d-3d611b93f9f4","image":"https://cdn.discordapp.com/avatars/338154523245805580/e2ec7f968aa1e5cbe861c52784271e08.webp?size=256"}},{"@type":"Answer","text":"Uncaught ReferenceError: xProductBrowser is not defined","upvoteCount":0,"dateCreated":"2024-02-27T17:50:04.885Z","datePublished":"2024-02-27T17:50:04.885Z","dateModified":"2024-02-27T17:50:04.885Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#9f148cf8-5a93-4930-b1d2-74f78164940f","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}},{"@type":"Answer","text":"right now its broken","upvoteCount":0,"dateCreated":"2024-02-27T17:50:10.491Z","datePublished":"2024-02-27T17:50:10.491Z","dateModified":"2024-02-27T17:50:10.491Z","url":"https://help.webstudio.is/why-this-script-completely-freezes-webstudio-cmBWGKZwRs2Y#e8954b7f-8d34-4cb6-9dbe-1097bdd3430b","author":{"@type":"Person","url":"https://help.webstudio.is/members/cdd3ed87-53a0-414a-885a-56b7939e412a","name":"Oleg Isonen","identifier":"cdd3ed87-53a0-414a-885a-56b7939e412a","image":"https://cdn.discordapp.com/avatars/469405813048606720/8b66a5882214c63ee6148fcce3ef8e93.webp?size=256"}}]}}