我有一个打印功能,除Safari浏览器以外的所有功能。当点击了打印按钮,则会引发错误:Array.filter破解Safari浏览器打印
TypeError: 'undefined' is not a function (evaluating 'Array.filter(document.getElementsByClassName('printArea_1'), function(elem){
$(".printing_list").printElement(elem);
})')
是打破我的Safari浏览器的代码事情是Array.filter,女巫工程一切,除了野生动物园:
Array.filter(document.getElementsByClassName('printArea_1'), function(elem){
$(".printing_list").printElement(elem);
});
我曾尝试添加了一段代码,它应该可以使Safari浏览器工作,但不会。任何人都可以帮助我实现这个目标,或者帮助我编写一些可以在所有浏览器中使用的东西来代替它。
这里是我的全部打印功能
function print_list(item_names,number_of_items) {
var theText="<ol>";
for(var i=1; i<=number_of_items;i++){
if($("#" + item_names + "_" + i).val()!=''){
theText+="<li>"
theText+=$("#" + item_names + "_" + i).val();
theText+="</li>";
}
}
theText +="</ol>";
$("#print_content_area").html(theText);
Array.prototype.filter.call(document.getElementsByClassName('printArea_1'), function(elem){
$(".printing_list").printElement(elem);
});
}
你的函数不应该(也不)在其他浏览器中工作。你想'Array.prototype.filter.call(...)',而不是'Array.filter(...)'。 – georg
thg435,你是坏蛋!谢谢,这是它大声笑。 – user2089255
[数组泛型](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array#Array_generic_methods)仅在FF中可用,我不知道如何可以在任何其他浏览器。 – Bergi