首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Brave浏览器中不调用Javascript

在Brave浏览器中不调用Javascript
EN

Stack Overflow用户
提问于 2021-10-25 03:24:41
回答 1查看 53关注 0票数 0

我有一个功能,可以在所有浏览器上工作,除了勇敢的浏览器。知道为什么吗?

有一个表单调用一个函数,使用用户的输入重定向到一个新的URL。当在一个勇敢的浏览器中调用它时,它什么也做不了。它可以在所有其他浏览器上运行。这是从Wordpress站点调用的。这会与此有关吗?

代码语言:javascript
复制
    <form id="url-10">
            <input id="red-border-error-2" class="url10-form" type="text" name="urlName-10">
            <input class="url10-button" type="submit" value="Build your app"></input>
        </form> 
<div id="error-message-10"></div>

<script>
    // JavaScript goes here

    
    
        document.getElementById("url-10").addEventListener("submit", (event) => {
                event.preventDefault()
                let errorMessage = document.getElementById("red-border-error-2").placeholder = " Type your store URL here ";
                let x = document.getElementById("red-border-error-2");
                let myForm = document.getElementById("url-10");
                let formData = new FormData(myForm);
                if (formData.get("urlName-10") === "") {
                return x.classList.add('placeholder-red-text');
                errorMessage;
                }
                else{
                    EndOfUrl = sanitizeDomainInput(formData.get("urlName-10"));
                    newUrl = redirectLink(EndOfUrl);
                    markConversionAndRedirect(newUrl);
                    return false;
                }

            });

            function markConversionAndRedirect(newUrl) {
                    gtag('event', 'conversion', {
                        'send_to': 'G-Q0HF9N3DYR/connect_square',
                        'event_callback': function () { window.location.href = newUrl }

                    })
                };


            function sanitizeDomainInput(input) {
                input = input || 'unknown.com'
                if (input.startsWith('http://')) {
                    input = input.substr(7)
                }
                if (input.startsWith('https://')) {
                    input = input.substr(8)
                }
                var regexp = new RegExp(/^(([a-zA-Z]{1})|([a-zA-Z]{1}[a-zA-Z]{1})|([a-zA-Z]{1}[0-9]{1})|([0-9]{1}[a-zA-Z]{1})|([a-zA-Z0-9][a-zA-Z0-9-_]{1,61}[a-zA-Z0-9]))\.([a-zA-Z]{2,6}|[a-zA-Z0-9-]{2,30}\.[a-zA-Z]{2,3})$/)
                return regexp.test(input) ? input : 'unknown.com';


            };

            function redirectLink(domain) {
                const urlParams = new URLSearchParams(window.location.search);
                const refValue = urlParams.get('ref'); 
                return `https://dashboard.getorda.com/signup/?state=${domain}` + (refValue ? `_${ refValue }` : '');
            };

</script>
EN

回答 1

Stack Overflow用户

发布于 2021-10-25 03:48:45

我会说这是因为Brave阻止了你正在使用的gtag.js库。因为您的重定向发生在gtag回调函数中,这意味着Brave永远不会执行这段代码。

你可以修改你的markConversationAndRedirect函数,这样即使在gtag被阻塞的情况下它也能工作。见下文。

代码语言:javascript
复制
function markConversionAndRedirect(newUrl) {
  if (typeof gtag !== 'undefined') {
    // gtag is loaded, we can safely use it
    gtag('event', 'conversion', {
      'send_to': 'G-Q0HF9N3DYR/connect_square',
      'event_callback': function () { window.location.href = newUrl }
    })
  } else {
    // gtag didnt load, redirect anyway
    window.location.href = newUrl
  }
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69702548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档