これを絞り込むのに問題があります。
IE8以降では正常に動作します。
IE7には開発者ツールがないため、これをデバッグする方法すらわかりません。
エラーは6256行目(以下のスニペットの最初)を示しています。char 6('if'の'i'の文字); コード0:
if ( typeof elem.getElementsByTagName !== "undefined" ) { /***this is the line that throws Invalid Argument***/
// handleScript alters the DOM, so use jQuery.merge to ensure snapshot iteration
jsTags = jQuery.grep( jQuery.merge( [], elem.getElementsByTagName("script") ), handleScript );
// Splice the scripts into ret after their former ancestor and advance our index beyond them
ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) );
i += jsTags.length;
}
コードは関数cleanの一部です。
これに取り組む方法について何かアイデアはありますか?
編集I: IE9でデバッガーを開き、その行にブレークポイントを設定してからスタックトレースを開くと、次のように表示されます。
したがって、$(document).readyによってトリガーされると思います
編集 IIjsfiddleが現在ダウンしているようですので、ここにコードを投稿してjsbinスニペットを作成しています。
http://jsbin.com/avajuw/1/edit
HTML:
<div id="navigation-block" style="width: 154px; height: 100%;">
<ul id="sliding-navigation">
<li class="sliding-element">
<h4>Docs</h4>
</li>
</ul>
</div>
JS:
$(document).ready(function () {
// the actual code I run is in comments
// var baseRestUrl = top.location.protocol + '//' + top.location.host + top.location.pathname + 'jaxrs';
var baseRestUrl = 'http//host:port/archive/jaxrs';
var linksRestUrl = baseRestUrl + '/links';
var fileRestUrl = baseRestUrl + '/file';
// var params = top.location.search;
var params = 'pnd=231352122&pgv=654321321321';
// $.getJSON(linksUrl, function(json) { //to get something like:
var json = {
"links": {
"lista": [{
"clipExt": "pnd",
"docId": "1203200110003774",
"imageDesc": "Front b/w",
"imageName": "Img_f_bw"
}, {
"clipExt": "pgv",
"docId": "1203200110003774",
"imageDesc": "Front gray",
"imageName": "Img_f_gr"
}]
}
};
//var lista = (!json.links.lista[1]) ? json.links : json.links.lista;
//alert(lista);
$.each(json.links.lista, function(i, item) {
var clipExt = item.clipExt;
var fileLink = fileRestUrl + '?' +
'un=' + item.docId + '&' +
'ext=' + clipExt + '&' + clipExt + '=' + extractParam(params, clipExt);
$('#sliding-navigation').append(
"<li class=\"sliding-element\"><a href=\"#\" onclick=\"fetchImage('" + fileLink + "', this)\">" + item.imageDesc + "</a></li>");
});
});
function extractParam(url, paramName) {
var tmp = (url.match(RegExp("[?|&]" + paramName + '=(.+?)(&|$)')) || [null])[1];
return tmp;
}