【问题标题】:Javascript: Append method is not working on IE11Javascript:附加方法在 IE11 上不起作用
【发布时间】:2018-02-07 06:17:30
【问题描述】:

我在 IE11 上遇到了关于 javascript 的问题。我有场景的功能:

  • 点击分类父类
  • 显示属于此类别的所有产品
  • 点击一个产品 -> 跳转到详情页
  • 将显示带有href“类别名称>产品名称”的链接

我在 Chrome 和 Firefox 上进行了测试。它工作正常,但在 IE11 上,缺少该类别

这是我为类别部分实现的代码:

<script type="text/javascript">
var lct = location;
if (typeof document.referrer != "undefined" && document.referrer != ""
  && history.length > 1) {
  var ref = document.createElement('a');
  ref.href = document.referrer;

  if (lct.origin == ref.origin) {
    var back = $('<a nohref rel="nofollow" id="category-name" class="back" onclick="history.back()">Category name</a>');
    $('.meta').append(back);
  }
}
</script>

有人知道原因吗?谢谢

P/S:我尝试在 IE11 中读取控制台,他们在这一行中说“对象不支持此操作”

var url = new URL(window.location);

和“XMLHttpRequest:网络错误0x2ef3,由于错误00002ef3,无法完成操作。”

有人有建议吗? :(

【问题讨论】:

  • 以上代码在其他浏览器上运行良好?一个疑问 你对 back 变量有什么期望?只是 HTML 内容或其他任何内容
  • @Ramkee:是的。它在所有浏览器上都能正常工作,除了 IE11 :( "back" 内容只有 HTML 代码
  • 你能检查控件是否进入'if'条件块吗?
  • @Hanif:是的。如果条件仍然有效。
  • 但它对我有用,您可以尝试从 html 字符串中删除 '$' 符号,因为 append() 方法期望字符串而不是 jQuery 对象。像这样:"var back = '类别名称';"

标签: javascript jquery frontend internet-explorer-11


【解决方案1】:

Internet Explorer 11 不支持 element.append。

而不是 element.append 尝试 element.appendChild。适用于 IE 和所有浏览器。并且做同样的事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-16
    • 2019-09-08
    相关资源
    最近更新 更多