Ajax는 IE에서만 프레임 세트를 깨뜨립니다
-
13-09-2019 - |
문제
프레임 세트가 헤어지는 문제가 있으며 포럼에서 약간의 도움을 받았습니다. 이제 나는 사물이 남쪽으로 갈 때 마침내 추적 했으므로 여기에 내 현재 문제가 있습니다.
1 상단, 메뉴 및 메인 2가있는 프레임 세트가 있습니다. 메뉴의 링크는 메인 3의 열린 뷰를 열어줍니다. 이것은 메인에서 문서 저장을 분류합니다. 메뉴에 모든 링크를 저장하면 새 창에서 열립니다.
그러나 - 그리고 여기에 기본 목표 등을 확인한 후에 내가 발견 한 정말 이상한 것들이 있습니다.
Ajax 호출을 해고하는 값을 변경하는 경우에만 분해됩니다. 주석 필드에 댓글을 추가하거나 숫자 값을 변경하면 모든 것이 좋습니다. 저장할 수 있고 프레임 세트는 손상되지 않습니다. 저장하기 전에 Ajax 호출을 해고하는 드롭 다운 목록을 변경하면 내 프레임 세트가 분해됩니다.
이것은 IE (7 및 8) 만이며 Firefox는이 문제가 없습니다.
이것은 내 Ajax 코드의 예입니다 (약 4 개의 다른 통화가 있습니다)
function fillUtmelding(refnr){
var f = document.forms[0];
var url = getDbUrl() + '/(FinnBeholdningValg)?OpenAgent&refnr=' + refnr + "&dbid=C1256B7D0033B1DF" + "&" + Math.round(Math.random() * 500);
var fondOppslag = new Ajax.Request(url, {
method: 'get',
onComplete: function(req){
var liste = req.responseText;
var startListe = liste.split(';');
arrListe = startListe[0].split('$');
f.f.value = arrListe[0];
f.fisin.value = arrListe[1];
f.andeler.value = arrListe[2];
for (j = 1; j < 14; j++) {
name = "f_" + j;
fisin = "fisin_"+ j;
andeler = "andeler_" +j;
var nyListe = startListe[j].split('$')
if (nyListe[1] != 'Plassering'){
f[name].value = nyListe[0];
f[fisin].value = nyListe[1];
f[andeler].value = nyListe[2];
}
}
}
});
}
편집 : 내가 볼 수있는 한 Ajax 통화에 아무런 문제가 없습니다. 나는 값을 되찾아 의도 한대로 사용합니다. Keepalive 설정이나 이것을하는 일이있을 수 있습니까?
해결책
오른쪽 프레임의 JS 코드 어딘가에 기능이있었습니다.
name = "(something)";
물론 var 지정되었습니다. 즉,이 간단한 선이 변경된 프레임 이름처럼 보이기 때문에 화를 냈습니다 .... 그런 다음 다른 프레임을 클릭하면 찾을 수 없으므로 새 창에서 내용이 열립니다.
문제가 해결되었습니다.
추신. 가변 이름에 사용하는 것을 조심하십시오 :)