Jump to content
mr.suchy

Jak poprawnie dodać javascript z poziomu modułu

Recommended Posts

Cześć,

Chciałem napisać prosty moduł, który dodaje kod merchant reviews do strony. W czym mam problem ? Pomimo tego że adres strony jest po SSL, strona zgłoszona do Googla - nie wyświetla się popup. Kod dostępny jest w źródle strony.

public function hookDisplayHeader() {
        if (Tools::getValue('id_order') != 0) {
            //$this->context->controller->addJS($this->_path . 'views/js/platform.js?onload=renderOptIn');

            $date = new DateTime('+3 day');
            $estimated_delivery_date = $date->format('Y-m-d');
            $merchantreviews_merchant_id = Configuration::get('PSOFT_MERCHANTREVIEWS_ID');
            $merchantreviews_order_id = (int) Tools::getValue('id_order');
            $merchantreviews_email = $this->context->customer->email;
            $merchantreviews_country = $this->context->country->iso_code;



            return '<script src="https://apis.google.com/js/platform.js?onload=renderOptIn"
  async defer>
</script>
    <script type="text/javascript">
        window.renderOptIn = function () {
window.gapi.load("surveyoptin", function () {
                window.gapi.surveyoptin.render({
                "merchant_id": "' . $merchantreviews_merchant_id . '",
                            "order_id": "' . $merchantreviews_order_id . '",
                            "email": "' . $merchantreviews_email . '",
                            "delivery_country": "' . $merchantreviews_country . '",
                            "estimated_delivery_date": "' . $estimated_delivery_date . '",
                            "opt_in_style": "CENTER_DIALOG"
                    });
                });
        }
    </script>
    <script type="text/javascript">
        window.___gcfg = {
            lang: "pl"
        };
    </script>

Jak napisałem kod jest widoczny w źródle ale  żaden popup się nie pokazuje. nawet jak kod Googla dodam na sztywno do nagłówka to nie działa. W czym jest problem ?

Pozdrawiam

  • Like 1

Share this post


Link to post
Share on other sites

jezeli dzialasz po SSL to sprawdz tak: <script src="//apis.google.com/js/platform.js?onload=renderOptIn"async defer> czuli bez https:

Share this post


Link to post
Share on other sites

Bez zmian. W konsoli teraz zauważylem następująca informację.

Content Security Policy: Ignorowanie 'unsafe-inline' w script-src: określono strict-dynamic
Content Security Policy: Ignorowanie https:” w script-src: określono strict-dynamic
Content Security Policy: Ignorowanie http:” w script-src: określono strict-dynamic

 

Share this post


Link to post
Share on other sites

Cześć, nie. Klient kupił moduł na Addonsach. Co ciekawe. Kupił moduł i okienko się nie pojawiało. Zgłosił błąd, autor rzucił okiem i nie widział problemu. Klient odzyskał kasę przez Paypala. Po miesiącu moduł zaczął działa. Niestety google prezentuje wyniki dopiero od 100 opinii.

Pozdrawiam

Share this post


Link to post
Share on other sites

Zaraz... czegoś nie rozumiem. Skoro okienko się nie pojawiało to jakim cudem po miesiącu moduł zaczął działać i pokazywał jakiekolwiek wyniki ?

Share this post


Link to post
Share on other sites

Wszystkie zagadnienia 

Content Security Policy:

Są związane z ustawieniem serwera oraz ewentualnie przeglądarki więc mógł hosting po prostu dopuścić regułę do wykonania.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More