首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有在IE11上加载内联Javascript

没有在IE11上加载内联Javascript
EN

Stack Overflow用户
提问于 2018-06-27 16:23:51
回答 1查看 5.2K关注 0票数 1

我正在开发MicrosoftDynamic365CRMPortals,但尽管如此,我还是尝试在按下按钮时包含一个甜警报2模式。

在大多数浏览器(Chrome、Firefox和Edge)上工作,但在Internet 11中工作。

这是我试图部署的全部代码:

代码语言:javascript
复制
<a href="#" id="searchHelp">
    <img border="0" src="http://some.url" alt="?" width="15" height="15">
</a>
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
<script lang="javascript">
console.log("Javascript loaded");
var helpButton = document.querySelector('#searchHelp');

if(navigator.userAgent.indexOf(".NET") >= 0) {
    console.log('Triggered IE Modal actions');
    helpButton.attachEvent('onclick', function(e) {
        e.returnValue = false;
        loadModal();
    });
} else {
    console.log('Triggered non-IE Modal actions');
    helpButton.addEventListener('click', (e) => {
        e.preventDefault();
        loadModal();
    }, false)
}

function loadModal() {
    var xhr = new XMLHttpRequest();

    xhr.open( "GET", "http://some.url/to-load", false); 

    xhr.setRequestHeader("Accept", "text/html");
    xhr.setRequestHeader("Content-Type", "text/html; charset=utf-8");

    xhr.onreadystatechange = function() {
        if(this.readyState == 4) {
            xhr.onreadystatechange = null;
            if(this.status == 200) {
                var parser = new DOMParser(),
                    content = parser.parseFromString(this.response, "text/html"),
                    form = content.querySelector('#liquid_form');

                swal({
                    icon: "info",
                    content: form,
                    button: {
                        text: "Close",
                        value: false,
                        visible: true,
                        className: "",
                        closeModal: true,
                    }
                })
            }
        }
    };
    xhr.send();
}
</script>
<style>
    .swal-modal {
        width: 90% !important;
    }
    .swal-content {
        overflow: hidden;
    }
</style>

这个模式在我前面提到的所有浏览器上都很好用,但是在点击按钮时不会触发任何动作。它会转到页面的顶部,并在URL中添加一个哈希标签。也没有显示消息"Javascript加载“。

我试图提高浏览器兼容性:我已经将fetch()更改为XMLHttpRequest,并通过在开发工具控制台上进行测试,添加了attachEvent()addEventListener(),增加了浏览器验证。我也尝试过在标签中包括type="javascript"。有什么线索吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-28 10:02:08

IE11不支持=>箭头函数,有条件地使用它们将无法工作,就好像在当前代码中执行不会到达它们一样,从整体上看,JavaScript是不可由IE等不兼容ES6的浏览器解析的。

切换到传统的function(e) { ... }语法。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51067451

复制
相关文章

相似问题

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