【发布时间】: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