Firebug�ɂ��Web�R�[�h�̃f�o�b�O�FFirefox Hacks�i1/2 �y�[�W�j
���G�ɗ��ݍ�����Web�T�C�g�̊J���ɂ����āAFirebug���g���ACSS�����JavaScript�̒P���ȃe���v���[�g���畡�G��Ajax�A�v���P�[�V�����Ɏ���܂ł̂��ׂĂ̕ҏW�ƃf�o�b�O���s�����Ƃ��ł���B
» 2007�N12��01�� 18��25�� ���J
[Mayank-Sharma�COpen Tech Press]
�@Web�T�C�g�̊J���́A���I�̕ς��ڂƂȂ���7�N�O�̂���قǒP���ȍ�Ƃł͂Ȃ��B�V���ȃc�[���A�e�N�m���W�[�A�J�����@�_�̂͂���ɂ��A���͂�Web�y�[�W�͂��Ă̒P����HTML�R�[�h�̗�ł͂Ȃ��A�e��̃X�^�C���V�[�g�A�}�[�N�A�b�v����A�X�N���v�g�����G�ɓ��荬���������̂ɂȂ��Ă���B�����A�����������G�ȃu�����h���̂��f�o�b�O����̂͗e�Ղł͂Ȃ��B�����œo�ꂷ��̂��AWeb�u���E�UFirefox�p���I�[�v���\�[�X�̃A�h�I��Firebug���B���̃A�h�I�����g���ACSS�����JavaScript�̒P���ȃe���v���[�g���畡�G��Ajax�A�v���P�[�V�����Ɏ���܂ł̂��ׂĂ̕ҏW�ƃf�o�b�O���s�����Ƃ��ł���B
�@�e��Web�v���W�F�N�g�̍쐬�ƃf�o�b�O�Ɍg���Web�J���҂��x������A�v���P�[�V�����́A������݂���BSANIsoft�̍ō��Z�p�ӔC�҂ŁwProfessional PHP4 Programming�x�̋����҂ł�����^���N�E�T�j���m�́ADOM Inspector�AVenkman JavaScript Debugger�ALiveHTTPHeaders�A�uWeb Developer�v�c�[���o�[�̋@�\�Q�̖��������Ă���B�uFirebug���o��܂ł́A���������c�[���̊W�߂ŊԂɍ��킹�Ȃ���Ȃ�Ȃ������BFirebug�̂������ŕK�v�Ȃ��ׂẴc�[�����g���₷��1�̃C���^�t�F�[�X�ɂ܂Ƃ܂�A�����Ԃ�y�ɂȂ�����v
�@�g���@�\�ł���Firebug���_�E�����[�h����ƁAFirefox�������I�ɂ��̃C���X�g�[�����s���Ă����BFirebug��L���ɂ���ɂ́AFirefox�̃X�e�[�^�X�o�[�̉E���ɂ��� Firebug�̃A�C�R�����N���b�N����B�L���ɂ���Ƃ����ɁA�K��邷�ׂĂ�Web�y�[�W��Firebug���g���ĉ�͂ł���悤�ɂȂ邪�A���̓���̓J�X�^�}�C�Y���\���B
�@�u���E�U��ɕ����̃^�u������ꍇ�AFirebug�͂��ꂼ��̃^�u�ɕʁX�̃Z�b�V�������N������B����́A1��Web�u���E�U�ŕ�����Web�y�[�W��ҏW�ł��邱�Ƃ��Ӗ�����B�f�t�H���g�ł́AFirebug�A�C�R�����N���b�N����ƃy�[�W�ʼn����̏����ȃp�l����Firebug�R���\�[�����\�������B���ʂ̃��j�^�ł���A�ʃE�C���h�E��Firebug���J�����Ƃ��ł���B
�@Firebug�ɂ̓^�u�`���̃V���v���ȃ��C�A�E�g���̗p����A������HTML�ACSS�AJavaScript�ADOM�A�l�b�g���[�N�����Ƃ�����Web�y�[�W���̂��܂��܂ȃR���|�[�l���g��������\�������B
Firebug
�@Firebug�́A�c���[�r���[�`���ŃR�[�h��\������B�R�[�h�������̗v�f��T���o���ꍇ�́A�����o�[���g����1�������͂��邽�тɃR�[�h���̃}�b�`�����������\�������B�R�[�h�̂���v�f��I������ƁA��̓I�ɂ���ɓ��Ă͂܂�CSS�X�^�C���ƁA���s�����痬�p�ł���X�^�C�����\�������B�܂��A�����N���b�N�ŔC�ӂ̃X�^�C���������ɂł��A���̌��ʂ̓y�[�W��Ɏ����I�ɔ��f�����B�uLayout�v�^�u�ɂ́A���[���ƃK�C�h���C�����\������A�e�v�f���ȒP�ɔz�u�ł���悤�ɂȂ��Ă���B
�@Firebug�ɂ́A�X�i�b�v���CSS�v���p�e�B�̒l���m�F�ł���@�\������B�}�E�X�J�[�\����HTML�̃J���[�^�O�̏�ɒu���Ƃ��̐F�������p�b�`���A�܂��摜�����N�̏�ɒu���Ƃ��̉摜�����ۂ̃T�C�Y�ŕ\�������B
�@�J�[�\���L�[���g���A����̗v�f�ɑ��Đݒ�\�Ȃ��ׂĂ�CSS�v���p�e�B�����ɐ�ւ����邪�A�����CSS���S�҂ɂ͂��肪�����@�\���BFirebug�͕W���I��CSS�L�[���[�h�̈ꗗ��ێ����Ă���A�����͗v�f������͂���ۂ̎����⊮�ɗ��p����Ă���B
�@�u���O���^�c���Ă��邪����HTML��CSS��������킯�ł͂Ȃ��ꍇ�A����y�[�W�̃e�[�}�̃J�X�^�}�C�Y�ɂ͎肪�o���Ȃ���������Ȃ��B�����AFirebug���g���A�f�t�H���g�̃e�[�}��ǂݍ��݁A�uInspect�v�{�^�����N���b�N���āA�y�[�W��Ń}�E�X���������ōςށB����Ǝ����I�ɁA�J�[�\���̒u���ꂽ�y�[�W�̃Z�N�V����������HTML�R�[�h�ɃW�����v����B���̃R�[�h�ł́A�|�C���g����v�f�̎�ނɉ����āA���̗v�f�̃{�[�_�[�A�}�[�W���A�p�f�B���O�����ׂăy�[�W��ŋ����\�������B�Ⴆ�A�}�Ɏ����悤�ɁA�ŋ߂̃G���g���̃��X�g�A�C�e���i<li id="recent-entries">�j�̏�Ƀ}�E�X�J�[�\����u���ƁA����HTML�ɂ���Đ��䂳��Ă���y�[�W�̕����������\�������B�܂��A�E���́uStyle�v�p�l���ɂ́A���̃��X�g�A�C�e���ɓK�p���ꂽCSS�X�^�C�����\������Ă���B
Copyright © 2010 OSDN Corporation, All Rights Reserved.
';
e_dlv.innerHTML = html;
adRequest({position:dlv_pos,dom:true});
}else if(ad_type === 'gam'){
var html = '
';
e_dlv.innerHTML = html;
refreshGam('InArtSpecialLink');
}else if(ad_type === 'logly'){
var html = '
';
e_dlv.innerHTML = html;
loglySet(g_id);
}else if(ad_type === 'google'){
var html = '
';
e_dlv.innerHTML = html;
googletag.cmd.push(function(){
var slot8 = googletag.defineSlot('/43042345/nlab_artinsert_RT',[[336,280],[300,250],'fluid'],'div-gpt-ad-1551176482959-0').addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
googletag.display('div-gpt-ad-1551176482959-0');
googletag.pubads().refresh([slot8]);
});
}
};
var insert_ok = function(_target,_str){
var clearfix = d.createElement('div');
clearfix.className = 'colBoxClear';
if(ad_float_fix){
e_body.insertBefore(e_dlv,_target);
e_body.insertBefore(clearfix,_target.nextElementSibling);
}else{
e_body.insertBefore(e_dlv,_target);
}
set_dlv();
};
var insert_ng = function(_str){
e_dlv.style.display = 'none';
};
var main = function(){
var e_nodes = e_body.childNodes; // BODY �����q�v�f
var e_tags = []; // BODY �����^�O
var p_num = []; // BODY ���� P �^�O�ʒu
var p_target_num; // �g�}����ʒu
var o_float = {}; // ��荞�ݗv�f
var o_this = {}; // �A�N�e�B�u�^�O
var o_next = {}; // �A�N�e�B�u�^�O�̎��̃^�O
var flag_insert = 0; // �}���t���O
// ��荞�ݗv�f�`�F�b�N
var check_float = function(_e){
var e = 0;
if(_e.id.match(/^col\d{3}(l|r)$/)){
e = _e;
}
return e;
};
// �v�f�� Y ���W�ƍ����̍��v�l
var get_element_y = function(_e){
var ey = 0;
var eh = _e.offsetHeight;
while(_e){
ey += _e.offsetTop;
_e = _e.offsetParent;
}
return ey + eh;
};
var check_ptag = function(_e){
var e = 0;
if(_e.tagName && _e.tagName === 'P'){
e = _e;
}
return e;
};
var try_insert = function(){
p_target_num = Math.floor(p_num.length / 2) - 1;
if(p_target_num >= _maxrange) p_target_num = _maxrange;
if(dis_con) p_target_num = 0;
for(var i = p_num[p_target_num]; i < e_tags.length; i++){
o_this.e = check_ptag(e_tags[i]);
if(o_this.e){
o_next.e = check_ptag(e_tags[i + 1]);
if(o_next.e){
if(!o_float.e || check_float(e_tags[i - 1])){
o_float.e = check_float(e_tags[i - 1]);
o_float.n = i - 1;
}
if(o_float.e && o_float.n < i + 1){
o_float.y = get_element_y(o_float.e);
o_this.y = get_element_y(o_this.e);
set_line(o_float.y,'red');
set_line(o_this.y,'blue');
if(o_float.y < o_this.y){
flag_insert = 1;
insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂���');
break;
}
}else{
flag_insert = 1;
insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂Ȃ�');
break;
}
}
}else{
o_float = {};
}
}
if(!flag_insert){
insert_ng('�}���ʒu�Ȃ�');
}
};
// �S�q�v�f����^�O�̂ݔz��ɓ����
for(var i = 0; i < e_nodes.length; i++){
if(e_nodes[i].tagName){
e_tags.push(e_nodes[i]);
}
}
// �S�^�O���� P �^�O�ʒu��z��ɓ����
for(var i = 0; i < e_tags.length; i++){
if(e_tags[i].tagName === 'P') p_num.push(i);
// �ŏ��̉�荞�ݗv�f���i�[
if(!o_float.e){
o_float.e = check_float(e_tags[i]);
o_float.y = get_element_y(o_float.e);
o_float.n = i;
}
}
if(p_num.length >= _threshold){
try_insert();
}else{
insert_ng('P �^�O ' + _threshold + ' �ȉ�');
}
};
if(e_body){
main();
}else{
insert_ng('�L���{���Ȃ�');
}
})(document,4,5);