어떤 확장의 코드에 대해서;;;;

Firefox 확장 기능(Extensions)에 대한 정보 및 질문과 답변을 하는 게시판입니다. update.mozilla.or.kr 를 참고하세요
Post Reply
astraea
해커
해커
Posts: 477
Joined: 2004 01 04 23:57 23
Contact:

어떤 확장의 코드에 대해서;;;;

Post by astraea »

이거 질문을 어디에 해야할지 모르겟네요..
miniwini 란 커뮤니티 사이트가 있는데요..
살짝 i.e 에 맞게 되어있어서..
한 분이 miniwinihelper 라고 cyworldworkaround 처럼
firefox 에서도 쓸 수 있도록 도와주는 확장을 만들어주셨는데요..

이상하게 저만 잘 작동이 안 되는거 같아서...
혹시나 코드에 문제가 있을가 해서요..
버튼 하나만 작동을 잘 안 하거든요-0-

맞는 코드인지 봐주셨음 해서요...

개발자 포럼에 가야할지..
여기에 써야할지 고민하다...
그래도 확장 관련이니 여기에 올려봅니다...

문제가 되는 reply 버튼에 관련된것만 올려봐요..
원랜 글쓰기 메뉴 부분, 타이핑창이 함께 보여야하는데.
글쓰기 메뉴 부분만 보이고
실제 타이핑창이 안 보이는구요..

문제가 되는 부분은..
원소스에서 span id 로 iViewContainer 지정되어있는 곳 같네요..
그곳이 버튼을 눌렀을때 나타나면 정상이고..
안 나타나면 비정상인듯...

Code: Select all

// 사용자의 계층 코멘트 Reply 클릭에 반응한다.
function mhelper_recomment(nIndex,s2,s3) {
	var obj = thewin.document.getElementById('recommentContainer_'+nIndex);
	var oForm = thewin.document.forms[thewin.g_sCommentFormName];
	var iView = thewin.document.getElementById('iView');

	for (i=0;i<thewin.g_nTotalComments;i++) {
		var el = thewin.document.getElementById('recommentContainer_'+i);
		el.style.display = 'none';
		if (nIndex!=i) el.innerHTML = "";
	}

	var sHTML = thewin.htmlCommentForm_header + thewin.htmlCommentForm_iView + thewin.htmlCommentForm_footer;
	if (obj.innerHTML == "") {
		var el = thewin.document.getElementById('iViewContainer');
		el.innerHTML = "";

		var el = thewin.document.getElementById('masterContainerForComment');
		el.innerHTML = "";

		var el = thewin.document.getElementById('masterContainerForComment2');
		el.innerHTML = "";

		obj.style.display = "";
		obj.innerHTML = sHTML;

		var el = thewin.document.getElementById('iView');
		oForm.c_org.value = s2;
		oForm.depth.value = s3;
	}
	else {
		obj.style.display = "none";
		obj.innerHTML = "";

		var el = thewin.document.getElementById('masterContainerForComment');
		el.innerHTML = thewin.htmlCommentForm_header;
		
		var el = thewin.document.getElementById('iViewContainer');
		el.innerHTML = thewin.htmlCommentForm_iView;

		var el = thewin.document.getElementById('masterContainerForComment2');
		el.innerHTML = thewin.htmlCommentForm_footer;

		var el = thewin.document.getElementById('iView');

		oForm.c_org.value = "";
		oForm.depth.value = "";
	}

	mhelper_set_submit_handler();
	mhelper_enable_toolbar();
}

// 계층 코멘트 기능을 활성화시킨다.
function mhelper_enable_recomment() {
	for (i=0;i<thewin.g_nTotalComments;i++) {
		var obj = thewin.document.getElementById('recommentContainer_'+i);
		if (!obj) return;
		if (obj.mhelper_did) continue;
		try { obj = obj.parentNode.childNodes[3].childNodes[1].childNodes[0]; }
		catch (e) { return; }
		obj.mhelper_did = true;

		if (obj.childNodes[1].innerHTML.substr(0, 4) == '<img') obj = obj.childNodes[3];
		else obj = obj.childNodes[1];
		obj = obj.childNodes[1].childNodes[1].childNodes[0].childNodes[5].childNodes[5];
		if (!obj) return;
		var str_onclick = obj.onclick.toString();
		str_onclick_start = str_onclick.indexOf('{')+2;
		str_onclick_end = str_onclick.indexOf('}')-2;
		str_onclick = str_onclick.substr(str_onclick_start, str_onclick_end-str_onclick_start+1);
		str_onclick = str_onclick.replace('commonReComment', 'mhelper_recomment');
		str_onclick = str_onclick.replace('who2_name', 'thewin.who2_name');
		obj.onclick = new Function(str_onclick);
	}
}
Post Reply

Who is online

Users browsing this forum: Amazon [Bot] and 0 guests