PageSourceSearch

https://nikkei225jp.com/indexO.js?v=1790487179

js nikkei225jp.com collected 2026-10-02 06:56:03 UTC 16,593 bytes, 329 lines download raw bytes

1// 下部テーブルは表示が近づいた系統だけ取得し、非表示・オフライン中は停止する。
2// 同じスクリプトが再評価された場合も、以前の通信・イベント登録を先に破棄する。
3var nkOReevaluated=!!window.nkOPollBindings;
4if(window.nkOPollBindings&&typeof window.nkOPollBindings.cleanup==='function'){
5	try{window.nkOPollBindings.cleanup();}catch(nkOCleanupError){}
6}
7window.nkOPollBindings=null;
8var TimerA2=null,TimerA3=null,nkOReqW=null,nkOReqB=null,nkOPollStopped=false,nkOPollDelay=5000;
9var nkOWReady=false,nkOBReady=false;
10var nkOFlashTimers={};
11var nkOInterestW=false,nkOInterestB=false,nkOViewportObserver=null,nkODomReadyHandler=null;
12function nkOTableFlash(selector){
13	if(nkOFlashTimers[selector])clearTimeout(nkOFlashTimers[selector]);
14	nkOFlashTimers[selector]=setTimeout(function(){delete nkOFlashTimers[selector];$(selector).css('color','#777');},1600);
15}
16function nkOCanPoll(){return !nkOPollStopped&&!document.hidden&&navigator.onLine!==false&&(typeof window.nkMarketUpdatesAllowed!=='function'||window.nkMarketUpdatesAllowed());}
17function nkOCanPollW(){return nkOInterestW&&nkOCanPoll();}
18function nkOCanPollB(){return nkOInterestB&&nkOCanPoll();}
19
20function ajaxW(a){
21	if(!nkOCanPollW())return null;
22	if(nkOReqW)return nkOReqW;
23	var request=$.ajax({
24		url:(a>0)?"//jss2.nikkei225jp.com/ajaxindex/ajax_TOP_mid.js":"/_data/_nfsDATA/ajaxindex/ajax_TOP_mid.js",
25		dataType:'script',
26		cache:true,
27		timeout:10000
28	}).done(function(data, status, xhr){
29		if(!nkOCanPollW())return;
30		try{
31		//WLD
32		valTBL(1,211,a);valTBL(1,212,a);valTBL(1,213,a);valTBL(1,214,a);valTBL(1,613,a);valTBL(1,611,a);valTBL(1,221,a);valTBL(1,233,a);valTBL(1,231,a);valTBL(1,232,a);
33		valTBL(1,441,a);valTBL(1,431,a);valTBL(1,413,a);valTBL(1,412,a);valTBL(1,417,a);valTBL(1,411,a);valTBL(1,414,a);valTBL(1,415,a);valTBL(1,416,a);valTBL(1,451,a);
34		valTBL(1,344,a);valTBL(1,345,a);valTBL(1,346,a);valTBL(1,343,a);valTBL(1,341,a);valTBL(1,347,a);valTBL(1,352,a);valTBL(1,362,a);valTBL(1,361,a);valTBL(1,442,a);
35		valTBL(1,111,a);valTBL(1,112,a);valTBL(1,121,a);valTBL(1,313,a);valTBL(1,342,a);valTBL(1,321,a);valTBL(1,324,a);valTBL(1,331,a);valTBL(1,312,a);valTBL(1,311,a);
36		valTBL(1,731,a);valTBL(1,733,a);valTBL(1,191,a);
37		//CX
38		valTBL(2,921,a);valTBL(2,922,a);valTBL(2,923,a);valTBL(2,924,a);valTBL(2,925,a);
39		valTBL(2,931,a);valTBL(2,932,a);valTBL(2,933,a);valTBL(2,934,a);valTBL(2,935,a);
40		valTBL(2,912,a);valTBL(2,941,a);valTBL(2,942,a);valTBL(2,943,a);valTBL(2,945,a);
41		valTBL(2,831,a);valTBL(2,817,a);valTBL(2,814,a);valTBL(2,815,a);valTBL(2,816,a);
42		nkOWReady=true;MiniChart.tick();SharedChart.tick();
43		}catch(error){if(window.console&&console.error)console.error('mid table update',error);}
44	});
45	nkOReqW=request;
46	request.always(function(){if(nkOReqW===request)nkOReqW=null;});
47	return request;
48}
49
50function ajaxB(a){
51	if(!nkOCanPollB())return null;
52	if(nkOReqB)return nkOReqB;
53	var request=$.ajax({
54		url:(a>0)?"//jss2.nikkei225jp.com/ajaxindex/ajax_TOP_btm.js":"/_data/_nfsDATA/ajaxindex/ajax_TOP_btm.js",
55		dataType:'script',
56		cache:true,
57		timeout:10000
58	}).done(function(data, status, xhr){
59		if(!nkOCanPollB())return;
60		try{
61		//FX
62		valTBL(3,514,a,-1);valTBL(3,511,a,-1);valTBL(3,523,a,1);
63		valTBL(3,514,a,1,"n");valTBL(3,511,a,1,"n");valTBL(3,523,a,-1,"n");
64		valTBL(3,512,a,1);valTBL(3,531,a,-1);valTBL(3,521,a,-1);
65		valTBL(3,515,a,1);valTBL(3,533,a,-1);valTBL(3,524,a,1);
66		valTBL(3,513,a,1);valTBL(3,532,a,-1);valTBL(3,522,a,-1);
67		valTBL(3,516,a,1);valTBL(3,534,a,-1);valTBL(3,525,a,1);
68		valTBL(3,517,a,1);valTBL(3,535,a,-1);valTBL(3,526,a,1);
69		valTBL(3,541,a,1);valTBL(3,581,a,-1);valTBL(3,561,a,-1);
70		valTBL(3,548,a,1);valTBL(3,588,a,-1);valTBL(3,568,a,-1);
71		valTBL(3,555,a,1);valTBL(3,595,a,-1);valTBL(3,575,a,-1);
72		valTBL(3,556,a,1);valTBL(3,596,a,-1);valTBL(3,576,a,-1);
73		//BC
74		valTBL(4,1001,a);valTBL(4,1002,a);
75		valTBL(4,1011,a);valTBL(4,1012,a);valTBL(4,1013,a);
76		valTBL(4,1021,a);valTBL(4,1022,a);valTBL(4,1023,a);
77		valTBL(4,1121,a);valTBL(4,1122,a);valTBL(4,1123,a);
78		valTBL(4,1151,a);valTBL(4,1152,a);valTBL(4,1153,a);
79		valTBL(4,1191,a);valTBL(4,1192,a);valTBL(4,1193,a);
80		valTBL(4,1631,a);valTBL(4,1632,a);valTBL(4,1633,a);
81		valTBL(4,1691,a);valTBL(4,1692,a);valTBL(4,1693,a);
82		valTBL(4,1431,a);valTBL(4,1432,a);valTBL(4,1433,a);
83		//GYO
84		valTBL(5,170,a);valTBL(5,470,a);valTBL(5,270,a);
85		valTBL(5,171,a);valTBL(5,471,a);valTBL(5,271,a);
86		valTBL(5,172,a);valTBL(5,472,a);valTBL(5,272,a);
87		valTBL(5,173,a);valTBL(5,473,a);valTBL(5,273,a);
88		valTBL(5,174,a);valTBL(5,474,a);valTBL(5,274,a);
89		valTBL(5,175,a);valTBL(5,475,a);valTBL(5,275,a);
90		valTBL(5,176,a);valTBL(5,476,a);valTBL(5,276,a);
91		valTBL(5,177,a);valTBL(5,477,a);valTBL(5,277,a);
92		valTBL(5,178,a);valTBL(5,478,a);valTBL(5,278,a);
93		valTBL(5,179,a);valTBL(5,479,a);valTBL(5,279,a);
94		nkOBReady=true;MiniChart.tick();SharedChart.tick();
95		}catch(error){if(window.console&&console.error)console.error('bottom table update',error);}
96	});
97	nkOReqB=request;
98	request.always(function(){if(nkOReqB===request)nkOReqB=null;});
99	return request;
100}
101
102var Vold=[];
103function valTBL(t,c,a,p,s,x) {
104	var Old=$("#tV"+c).text().replace(/,/g,'');
105	if(s!="n"&&typeof A[c]==='string')A[c]=A[c].split("_");
106	if(!A[c]||typeof A[c].length!=='number'||A[c].length<5)return;
107	var perValue=String(A[c][2]).replace(/\+/g,"<span class='COL_ARROW COL_P3'>▲</span>").replace(/-/g,"<span class='COL_ARROW COL_M3'>▼</span>");
108	var Kt=(c==1001||c==232)?0:(c==523||c==531||c==532||c==533||c==534||c==535||
108c==521||c==522||c==524||c==525||c==526||c==541)?4:(c==511||c==514||c==811||c==151||c==548||c==555||c==556||c==588||c==595||c==596||c==568||c==575||c==576)?3:2;
109	if(t==1 || t==2){ // WLD //CX
110		colSetPer('#divDT'+c,A[c][2],3,(c>614&&c<631)?5:(c>900)?20:(c>500&&c<600)?80:40);
111		if(a==0){
112			Vold[c]=A[c][0];
113			$("#divDT"+c).html('<span class="sW3 chtWLD chtWLD'+c+'" id=tM'+c+'></span><span class="sW1 SD_F" id=tP'+c+'>'+perValue+'<span class=sm50>%</span></span><span class=sW2 id=tV'+c+'>'+deci(A[c][0],Kt,0,0,c)+'</span>');
114		}
115		$("#tT"+c).html(A[c][3]).css("color",((A[c][4]==2)? "#8ab":(A[c][4]==1)? "#d7cca7":"#aaa"));
116		if(Old!="" && A[c][0]!=Vold[c]){
117			var updwn=Color.css(A[c][0]-Vold[c],A[c][0]>Vold[c]?"#1a1":"#a11");
118			Vold[c]=A[c][0];
119			$("#tV"+c).html(deci(A[c][0],Kt,0,0,c));
120			$("#tP"+c).html(perValue+'<span class=sm50>%</span>');//.css("color",perC);
121			$("#tV"+c).css("color",updwn);
122			nkOTableFlash("#tV"+c);
123		}
124	}else if(t==3){ // FX
125		var m =(p>0)?"":"m";
126		var Old=$("#tV"+c+m).text().replace(/,/g,'').replace(/<.*?>/g,"");
127		colSetPer('#divDT'+c+m+',#divDTs'+c+m,Number(A[c][2])*p,3,80);
128		if(a==0){
129			Vold[c]=A[c][0];
130			$("#divDT"+c+m).html('<span class="sF3 chtM chtM'+c+m+'" id=tM'+c+m+'></span><span class="sF1" id=tP'+c+m+'>'+perValue+'<span class=sm50>%</span></span><span class=sF2 id=tV'+c+m+'>'+deci(A[c][0],Kt,0,0,c)+'</span>');
131			$("#divDTs"+c+m).html('<span class="sFs1" id=tPs'+c+m+'>'+perValue+'<span class=sm50>%</span></span><span class=sFs2 id=tVs'+c+m+'>'+A[c][0]+'</span><span class=sFs3 id=tT'+c+m+'>'+A[c][3]+'</span>');
132		}
133		if(Old!="" && A[c][0]!=Vold[c]){
134			var updwn=Color.css(A[c][0]-Vold[c],A[c][0]>Vold[c]?"#1a1":"#a11");
135			Vold[c]=A[c][0];
136			$("#tV"+c+m+",#tVs"+c+m).html(deci(A[c][0],Kt,0,0,c));
137			$("#tP"+c+m+",#tPs"+c+m).html(perValue+'<span class=sm50>%</span>');//.css("color",perC);
138			$("#tTs"+c+m).html(A[c][3]);
139			$("#tV"+c+m+",#tTs"+c+m).css("color",updwn);
140			nkOTableFlash("#tV"+c+m+",#tTs"+c+m);
141			if(c==511||c==514){
142				$("#tV"+c+",#tVs"+c).html(deci(A[c][0],Kt,0,0,c));
143				$("#tP"+c+",#tPs"+c).html(perValue+'<span class=sm50>%</span>');//.css("color",perC);
144				$("#tTs"+c).html(A[c][3]);
145				$("#tV"+c+",#tTs"+c).css("color",updwn);
146				nkOTableFlash("#tV"+c+",#tTs"+c);
147			}else if(c==523){
148				$("#tV"+c+"m"+",#tVs"+c+"m").html(deci(A[c][0],Kt,0,0,c));
149				$("#tP"+c+"m"+",#tPs"+c+"m").html(perValue+'<span class=sm50>%</span>');//.css("color",perC);
150				$("#tTs"+c+"m").html(A[c][3]);
151				$("#tV"+c+"m"+",#tTs"+c+"m").css("color",updwn);
152				nkOTableFlash("#tV"+c+"m"+",#tTs"+c+"m");
153			}
154		}
155	}else if(t==4 || t==5){ // BC // GYO
156		colSetPer('#divDT'+c+',#divDTs'+c,A[c][2],3,(c>614&&c<631)?5:(c>900)?20:(c>500&&c<600)?80:40);
157		var m ="";
158		var Tbl=(t==4)?'BC':'GYO';
159		var Old=$("#tV"+c).text().replace(/,/g,'');
160		if(a==0){
161			Vold[c]=A[c][0];
162			$("#divDT"+c).html('<span class="sB3 cht'+Tbl+' cht'+Tbl+''+c+'" id=tM'+c+'></span><span class="sB1" id=tP'+c+m+'>'+perValue+'<span class=sm50>%</span></span><span class=sB2 id=tV'+c+'>'+com(A[c][0])+'</span>');
163			$("#divDTs"+c).html('<span class="sBs1" id=tPs'+c+m+'>'+perValue+'<span class=sm50>%</span></span><span class=sBs2 id=tVs'+c+'>'+A[c][0]+'</span><span class=sBs3 id=tT'+c+'>'+com(A[c][0])+'</span>');
164		}
165		if(Old!="" && A[c][0]!==Vold[c]){
166			var updwn=Color.css(A[c][0]-Vold[c],A[c][0]>Vold[c]?"#1a1":"#a11");
167			Vold[c]=A[c][0];
168			$("#tV"+c+",#tVs"+c).html(A[c][0]);
169			$("#tP"+c+",#tPs"+c).html(perValue+'<span class=sm50>%</span>');
170			$("#tT"+c).html(A[c][3]);
171			$("#tV"+c+",#tVs"+c).css("color",updwn);
172			nkOTableFlash("#tV"+c+",#tVs"+c);
173		}
174	}
175	// 前日基準だけが変わる場合も、変化率の文字を更新する。
176	var suffix=t===3&&!(p>0)?'m':'';
177	$('#tP'+c+suffix+',#tPs'+c+suffix).html(perValue+'<span class=sm50>%</span>');
178	var mode=t<3?'WLD':t===3?'FX':t===4?'BC':'GYO';
179	MiniChart.attach(mode,String(c)+suffix,A[c][0],A[c][1],A[c][2]);
180	SharedChart.render(c,A[c][0]);
181}
182
183// 現在と直近2期間は表示・非表示だけで切り替え、最古の描画先を破棄する。
184var nkOTableSelection={};
185function nkODisposeTableView(view){
186 if(!view)return;
187 if(view._detailChartRequest&&window.SharedChart){SharedChart.clear(view);view._detailChartRequest=null;}
188 else try{var chart=$(view).highcharts();if(chart)chart.destroy();}catch(e){}
189 if(view.parentNode)view.parentNode.removeChild(view);
190}
191function imgTBL(t,n){
192 var root=document.getElementById(['','tblWLD','tblCX','tblFX','tblBC','tblGYO'][t]);if(!root)return false;
193 n=Number(n);if(n%1||n<0||n>4)n=0;
194 if(nkOTableSelection[t]===n)return false;nkOTableSelection[t]=n;
195 var grouped=t>=3,K=n===2?168:n===3?3:n===4?24:1,H=grouped?88:74;
196 if(t<3){$('.Tbl'+t).css('width',n?'182px':'364px').css('float',n?(t===1?'right':'left'):'');$('.hsA'+t).css('width',n?'182px':'364px').css('height',n?'130px':'28px').css('float',n?'left':'');}
197 Array.prototype.forEach.call(root.querySelectorAll('.img[data-chart-code]'),function(el){
198  var C=Number(el.getAttribute('data-chart-code')),value=el.previousElementSibling,views=el._nkTableViews||(el._nkTableViews={}),recent=el._nkTableRecent||(el._nkTableRecent=[]),key,view;
199  if(grouped&&value&&value.classList.contains('divDT'))value.style.display=n?'none':'block';
200  for(key in views)if(Object.prototype.hasOwnProperty.call(views,key)){
201   view=views[key];view.style.display=n&&Number(key)===K?'block':'none';
202   SharedChart.setVisible(view,!!n&&Number(key)===K);
203  }
204  el.style.display=n?'block':'none';
205  if(n&&C>100&&!views[K]){
206   // 外枠の右1px・下2pxを差し引き、枠込みの寸法を維持する。
207   el.style.width='181px';el.style.height=(H-2)+'px';
208   view=document.createElement('div');view.className='nkTableChart';view._detailChartTable=true;
209   if(t===1)view._detailChartMinRangePercent=.4;
210   el.appendChild(view);views[K]=view;drawChart.call(view,C,181,H-2,K,0);
211  }
212  if(n&&C>100){
213   var at=recent.indexOf(K);if(at>=0)recent.splice(at,1);
214   recent.push(K);
215   while(recent.length>3){key=recent.shift();if(views[key]){nkODisposeTableView(views[key]);delete views[key];}}
216  }
217 });
218 if(grouped)Array.prototype.forEach.call(root.querySelectorAll('.non'),function(el){el.style.display=n?'block':'none';});
219 return false;
220}
221function nkORestoreCharts(){
222 // 過去の保存値・ブラウザによるフォーム復元にかかわらず「無」で開始する。
223 for(var t=1;t<=5;t++){
224  for(var n=0;n<=4;n++){var r=document.getElementById('R'+t+(n+1));if(r)r.checked=n===0;}
225  // 通常の初回はCSSで非表示済み。再評価時だけ既存チャートを畳む。
226  if(nkOReevaluated)imgTBL(t,0);
227  else nkOTableSelection[t]=0;
228 }
229}
230nkORestoreCharts();
231function nkOScheduleW(delay){
232	if(TimerA2){clearTimeout(TimerA2);TimerA2=null;}
233	if(!nkOCanPollW())return;
234	TimerA2=setTimeout(function(){
235		TimerA2=null;
236		var request=ajaxW(nkOWReady?1:0);
237		if(request&&typeof request.always==='function')request.always(function(){nkOScheduleW(nkOPollDelay);});
238		else nkOScheduleW(nkOPollDelay);
239	},typeof delay==='number'?delay:nkOPollDelay);
240}
241function nkOScheduleB(delay){
242	if(TimerA3){clearTimeout(TimerA3);TimerA3=null;}
243	if(!nkOCanPollB())return;
244	TimerA3=setTimeout(function(){
245		TimerA3=null;
246		var request=ajaxB(nkOBReady?1:0);
247		if(request&&typeof request.always==='function')request.always(function(){nkOScheduleB(nkOPollDelay);});
248		else nkOScheduleB(nkOPollDelay);
249	},typeof delay==='number'?delay:nkOPollDelay);
250}
251function nkOStopW(abortRequest){
252	if(TimerA2){clearTimeout(TimerA2);TimerA2=null;}
253	if(abortRequest&&nkOReqW){var request=nkOReqW;nkOReqW=null;try{request.abort();}catch(e){}}
254}
255function nkOStopB(abortRequest){
256	if(TimerA3){clearTimeout(TimerA3);TimerA3=null;}
257	if(abortRequest&&nkOReqB){var request=nkOReqB;nkOReqB=null;try{request.abort();}catch(e){}}
258}
259function nkOStopPollers(abortRequests){
260	nkOStopW(abortRequests);nkOStopB(abortRequests);
261	for(var selector in nkOFlashTimers)if(Object.prototype.hasOwnProperty.call(nkOFlashTimers,selector)){
262		clearTimeout(nkOFlashTimers[selector]);$(selector).css('color','#777');
263	}
264	nkOFlashTimers={};
265}
266function nkOStartPollers(delay){
267	if(!nkOCanPoll())return;
268	// 両方が画面付近なら上段の通信を先に開始する。
269	if(nkOInterestW&&!TimerA2&&!nkOReqW)nkOScheduleW(delay);
270	if(nkOInterestB&&!TimerA3&&!nkOReqB)nkOScheduleB(delay);
271}
272function nkOObserveTables(){
273	nkODomReadyHandler=null;
274	var idsW=['worldIndexWin','oilTbl'],idsB=['fxTbl','gyoTbl','btcTbl'];
275	if(!window.IntersectionObserver){
276		// 古いブラウザでは従来の通信・再開動作を維持する。
277		nkOInterestW=true;nkOInterestB=true;nkOStartPollers(0);return;
278	}
279	var seen={},hasW=false,hasB=false;
280	nkOViewportObserver=new window.IntersectionObserver(function(entries){
281		for(var i=0;i<entries.length;i++)seen[entries[i].target.id]=entries[i].isIntersecting;
282		var w=!hasW,b=!hasB,j;
283		for(j=0;j<idsW.length;j++)w=w||!!seen[idsW[j]];
284		for(j=0;j<idsB.length;j++)b=b||!!seen[idsB[j]];
285		if(nkOInterestW!==w){nkOInterestW=w;if(!w)nkOStopW(true);}
286		if(nkOInterestB!==b){nkOInterestB=b;if(!b)nkOStopB(true);}
287		nkOStartPollers(0);
288	},{rootMargin:'900px 0px',threshold:0});
289	for(var k=0;k<idsW.length;k++){
290		var upper=document.getElementById(idsW[k]);if(upper){hasW=true;seen[idsW[k]]=false;nkOViewportObserver.observe(upper);}
291	}
292	for(k=0;k<idsB.length;k++){
293		var lower=document.getElementById(idsB[k]);if(lower){hasB=true;seen[idsB[k]]=false;nkOViewportObserver.observe(lower);}
294	}
295	if(!hasW||!hasB){nkOInterestW=!hasW;nkOInterestB=!hasB;nkOStartPollers(0);}
296}
297(function(){
298	function onVisibility(){if(document.hidden)nkOStopPollers(true);else nkOStartPollers(0);}
299	function onOffline(){nkOStopPollers(true);}
300	function onOnline(){nkOStartPollers(0);}
301	function onPageHide(){nkOPollStopped=true;nkOStopPollers(true);}
302	function onMarketStop(){nkOStopPollers(true);}
303	function onPageShow(event){
304		if(!nkOPollStopped&&!(event&&event.persisted))return;
305		nkOPollStopped=false;nkOStartPollers(0);
306	}
307	document.addEventListener('visibilitychange',onVisibility);
308	window.addEventListener('offline',onOffline);
309	window.addEventListener('online',onOnline);
310	window.addEventListener('pagehide',onPageHide);
311	window.addEventListener('marketupdatesstop',onMarketStop);
312	window.addEventListener('pageshow',onPageShow);
313	window.nkOPollBindings={cleanup:function(){
314		nkOPollStopped=true;
315		if(nkODomReadyHandler)document.removeEventListener('DOMContentLoaded',nkODomReadyHandler);
316		if(nkOViewportObserver)nkOViewportObserver.disconnect();
317		document.removeEventListener('visibilitychange',onVisibility);
318		window.removeEventListener('offline',onOffline);
319		window.removeEventListener('online',onOnline);
320		window.removeEventListener('pagehide',onPageHide);
321		window.removeEventListener('marketupdatesstop',onMarketStop);
322		window.removeEventListener('pageshow',onPageShow);
323		nkOStopPollers(true);
324	}};
325	if(document.readyState==='loading'){
326		nkODomReadyHandler=nkOObserveTables;
327		document.addEventListener('DOMContentLoaded',nkODomReadyHandler);
328	}else nkOObserveTables();
329})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.