���̃T�[�r�X��Ajax�t���[�����[�N�ň�ςł��邩�H �F Web 2.0�ŕς��Web�v���O���~���O�̏펯 �i1/4 �y�[�W�j
�uprototype.js�v�ƌĂ��JavaScript�t���[�����[�N�B������Ajax�����p�����T�[�r�X�Ŏg���Ă���uAjax�t���[�����[�N�̃f�t�@�N�g�v���B
» 2006�N08��28�� 16��18�� ���J
�@���̃I�����C���E���b�NPlus�uWeb 2.0�ŕς��Web�v���O���~���O�̏펯�v �ł́A����܂ł�Ajax�̊T�v�i��1��j �������W�n�Ƃ��Ăǂ̂悤�Ȏ��g�݂���̂��i��2��j �A�����āA�����I�ȑg�ݍ��ݕ��@�̈�Ƃ���JSON�ƌĂ��f�[�^�`���̂����i��3��j �AWeb�T�[�r�X�Ƃ̘A�g�i��4��j �ɂ��ĉ�������B
�@Ajax�A�v���P�[�V�����̊J���ł́AWeb�u���E�U�ˑ��̖�������������ADOM�c���[�𑀍삷��Ƃ������K�v��������B�������A�J���҂��ꂩ��R�[�h�L�q���Ă����̂͌����I�ł͂Ȃ��B�����ň�ʂɂ́A��������I�[�v���X�^���_�[�h�ƂȂ��Ă��郉�C�u�����𗘗p���邱�ƂɂȂ�B����́AAjax�A�v���P�[�V�����J���ɂ����Ă悭�g����uprototype.js�v���g�����J����@�ɂ��ĉ�����Ă������B
�@prototype.js���i�֘A�����N�j �ASam Stephenson���ɂ���ď����ꂽJavaScript�t���[�����[�N���B�t���[�̃��C�u�����ł���AMIT���C�Z���X�ɏ�������Ă���B
�@prototype.js������̂́AAjax�̋@�\�����ł͂Ȃ��BJavaScript�̑g�ݍ��݃N���X�Ɋ���̃��\�b�h�������ċ@�\��lj�������ADOM�����e�Ղɂ���V���[�g�J�b�g���Ȃǂ����@�\����������b�I�ȃt���[�����[�N�ƂȂ��Ă���B
�@���ہAAjax�A�v���P�[�V�����Ɍ��炸�A������JavaScript�v���O���~���O�Ŏg���Ă���A�f�t�@�N�g�X�^���_�[�h�Ƃ�������B
�@�Ⴆ�A�uRuby on Rails�v ���uscript.aculo.us�v �ȂǁA�ق��̊����Web�A�v���P�[�V�����t���[�����[�N��AAjax�p�N���X���C�u����������prototype.js����{�I�ȃt���[�����[�N�Ƃ��č̗p���Ă���B
�@prototype.js�������ɑΉ����Ă���Web�u���E�U�́A���̒ʂ肾�B
Windows��Internet Explorer 6.0�ȍ~
Mozilla Firefox 1.0�^Mozilla 1.7�ȍ~
Safari 1.2�ȍ~
�@prototype.js�́Ahttp://prototype.conio.net/ ����_�E�����[�h���邱�Ƃ��ł���B���e���M���_�ł̍ŐV�ł̓o�[�W����1.40���B�܂��Aprototype.js�́A�N���C�A���g�T�C�h�̃��C�u�����ł���A�uprototype.js�v�Ƃ��������ЂƂ̃t�@�C���ɂ���č\�������B
�@���p����ɂ������ẮAprototype.js��Web�T�[�o�[�ɒu���AHTML�\�[�X���ŁA���̂悤�ɓǂݍ��߂悢�B
<script type="text/javascript" src="https://image.itmedia.co.jp/enterprise/articles/0608/28/prototype.js">
</script>
�@���ӓ_�Ƃ��āAsrc�����Ŏw�肷��t�@�C�����́A���ۂɂ́A�z�u�����p�X���w�肷�邱�ƂɂȂ�B
�@prototype.js�ɂ́A�h�L�������g���܂܂�Ă��Ȃ��B���̂��߁A�ǂ̂悤�Ȋ�������A�ǂ̂悤�ȓ��������̂��𗝉�����ɂ́A�u�\�[�X��ǂށv�Ƃ����̂���{�ƂȂ�B
�@�������C���^�[�l�b�g��ɂ́ASergio Pereira���ɂ���uDeveloper Notes for prototype.js�v �Ƃ����R���e���c������B���{��������̂ŁAprototype.js���g���n�߂�ۂɂ́A�܂��A���̃R���e���c�ɖڂ�ʂ����Ƃ������߂���B
�@prototype.js�̎�ȋ@�\�́A�u�V���[�g�J�b�g��[�e�B���e�B���v�ƁuAjax�@�\�v��2�ɑ傫�����ނł���B
Copyright © ITmedia, Inc. 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);