PageSourceSearch

https://hamlet2026.jp/news/wp-content/themes/hamlet2026_news/assets/common/js/utils.js

js hamlet2026.jp collected 2026-10-06 07:18:18 UTC 15,102 bytes, 619 lines download raw bytes

1/************************************************
2*************************************************
3
4@PC
5
6@utils.js v5.1.0
7Copyright (c) ULM Co.,Ltd. - http://www.ulm-design.com
8
9*************************************************
10************************************************/
11
12/*--//////////////////////////////////////////	
13
14initNavi
15
16//////////////////////////////////////////--*/
17function initNavi(option){
18  
19  //デフォルト値
20  var __id = option.id || 'top';
21  var __target = option.target || '#nav-container';
22  var __isImg = option.img || false;
23  var __tag = option.tag || 'li';
24  
25  var _navData = Config.getNaviData();
26
27  var target = $(__target);
28  var txt = '';
29  var len = _navData.length;
30
31  for(var i = 0; i < len; i++){
32
33    var list = '';
34    var data = _navData[i];
35		
36    if(data.id != __id){
37			
38			//開始タグ
39      if(!data.isSmall){
40        list +='<' + __tag + ' id="nav-'+data.id+'" class="nav-box">';
41      }else{
42        list +='<' + __tag + ' id="nav-'+data.id +'" class="nav-box small">';
43      }
44			
45			//リンクタグ
46			if(!data.isComing){
47				list += '<a href="'+data.href+'" target="'+data.target+'" class="nav-btn">';
48			}else{
49				list += '<span class="nav-btn coming">';
50			}
51			
52			//テキスト or 画像
53      if(!__isImg){
54        list += data.name;
55      }else{
56        list += '<img src="'+BASE_IMG_PATH+data.id+'_off.png" alt="'+data.name+'" class="nav-img">';
57      }
58			
59			//リンク閉じタグ
60			if(!data.isComing){
61				list += '</a>';
62			}else{
63				list += '</span>';
64			}
65			
66    }else{
67			
68		//selected
69			
70			//開始タグ
71      if(!data.isSmall){
72        list += '<' + __tag + ' id="nav-'+data.id+'" class="nav-box selected">';
73      }else{
74        list += '<' + __tag + ' id="nav-'+data.id +'" class="nav-box selected small">';
75      }
76			
77			//テキスト or 画像
78      if(!__isImg){
79        list += '<span class="nav-btn selected">'+data.name+'</span>';
80      }else{
81        list += '<img src="'+BASE_IMG_PATH+data.id+'"_on.png" alt="'+data.name+'" class="nav-img">';
82      }
83      
84    }
85    
86    list += '</' + __tag + '>';
87
88    txt += list;
89    
90  }//endfor
91
92  //txt += '</ul>';
93
94  target.html(txt);
95
96}//initNavi
97
98
99/*--//////////////////////////////////////////	
100
101drawer
102
103//////////////////////////////////////////--*/
104function initDrawerNavi(option){
105  
106  //デフォルト値
107  var __id = option.id || 'top';
108  var __target = option.target || '#drawer-nav-container';
109  var __isImg = option.img || false;
110  var __tag = option.tag || 'li';
111	
112  var _navData = Config.getNaviData();
113
114  var target = $(__target);
115
116  var html = '';
117
118  var len = _navData.length;
119
120  for(var i =0; i < len; i++){
121
122    var list = "";
123    var data = _navData[i];
124    
125    if(data.id !=__id){
126    
127      if(!data.isSmall){
128        list += '<' + __tag + ' id="drawer-nav-' + data.id + '" class="drawer-nav-box">';
129      }else{
130        list += '<' + __tag + ' id="drawer-nav-' + data.id + '" class="drawer-nav-box small">';
131      }
132      
133      list += '<a href="' + data.href + '" target="' + data.target + '" class="drawer-nav-btn">';
134      
135      if(!__isImg){
136        list += data.name;
137      }else{
138        list += '<img src="' + BASE_IMG_PATH + data.id + '_off.png" alt="' + data.name + '" class="nav-img">';
139      }
140
141      list += '</a>';
142      
143    }else{
144    
145      if(!data.isSmall){
146        list += '<' + __tag + ' id="drawer-nav-' + data.id + '" class="drawer-nav-box selected">';
147      }else{
148        list +='<' + __tag + ' id="drawer-nav-' + data.id + '" class="drawer-nav-box small selected">';
149      }
150      
151      if(!__isImg){
152        list +='<span class="drawer-nav-btn selected">' + data.name + '</span>';
153      }else{
154        list += '<img src="'+BASE_IMG_PATH+data.id+'"_on.png" alt="'+data.name+'" class="nav-img">';
155      }
156    }
157    
158    list += '</' + __tag + '>';
159    
160    html += list;
161
162  }//endfor
163
164  //html += '</ul>';
165
166  target.html(html);
167
168}//initDrawerNavi
169
170
171/*--//////////////////////////////////////////
172	
173initSNS
174	
175//////////////////////////////////////////--*/
176function initSNS(option){
177  
178  //デフォルト値
179  var __target = option.target || '#social-container';
180  var __tag = option.tag || 'li';
181  
182	var SNS_URL =Config.getURL();
183	var SNS_DATA =Config.getSnsData();
184
185  var target = $(__target);
186  var txt ="";
187  var len = SNS_DATA.length;
188  
189  for(var i =0; i < len; i++){
190
191    var list ="";
192    var data = SNS_DATA[i];
193
194    switch(data.id){
195
196      case "twitter":
197        list +='<'+__tag+' class="sns-btn" id="twitter-btn"></'+__tag+'>';
198        target.append(list);
199        generateTweetBtn(SNS_URL,data.text,data.hash);
200      break;
201
202      case "facebook-like":
203        list +='<'+__tag+' class="sns-btn" id="facebook-like"></'+__tag+'>';
204        target.append(list);
205        generateFbLikeBtn(SNS_URL,data.type,data.size,data.width,data.appId,data.appVer,data.action,data.showFace,data.share);
206      break;
207
208      case "google":
209        list +='<'+__tag+' class="sns-btn" id="gplus-btn"></'+__tag+'>';
210        target.append(list);
211        generatePlusoneBtn(data.size);
212      break;
213
214      case "line-share":
215        list +='<'+__tag+' class="sns-btn" id="line-share"></'+__tag+'>';
216        target.append(list);
217        generateLineShareBtn(SNS_URL);
218      break;
219        
220      case "line-like":
221        list +='<'+__tag+' class="sns-btn" id="line-like"></'+__tag+'>';
222        target.append(list);
223        generateLineLikeBtn(SNS_URL);
224      break;
225        
226      case "hatena":
227        list +='<'+__tag+' class="sns-btn" id="hatena-btn">';
228        list+=generateHatena(SNS_URL,data.text);
229        list+='</'+__tag+'>';
230        target.append(list);
231      break;
232        
233      default:
234      break;
235        
236    }//endswitch
237
238  }//endfor
239
240}//initSNS
241
242/*--//////////////////////////////////////////
243	
244generateTweetBtn
245	
246//////////////////////////////////////////--*/
247function generateTweetBtn(__url,__txt,__hash) {
248  window.addEventListener('load', function() {
249    var tweetElm = document.createElement('div');
250		
251		tweetElm.innerHTML = '<a href="https://twitter.com/share" class="twitter-share-button" data-url="'+__url+'" data-text="'+__txt+'" data-lang="ja" data-hashtags="'+__hash+'">ツイート</a>';
252
253    document.querySelector('#twitter-btn').appendChild(tweetElm);
254
255    !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');
256  });
257}
258
259
260/*--//////////////////////////////////////////
261
262generateFbLikeBtn
263
264//////////////////////////////////////////--*/
265function generateFbLikeBtn(__url,__type,__size,__width,__appId,__appVer,__action,__face,__share) {
266  
267  var likeElm = document.createElement('div');
268  likeElm.innerHTML = '<div class="fb-like" data-href="'+__url+'" data-layout="'+__type+'" data-action="'+__action+'" data-size="'+__size+'" data-show-faces="'+__face+'" data-share="'+__share+'"></div>';
269
270  window.addEventListener('load', function() {
271    document.querySelector('#facebook-like').appendChild(likeElm);
272
273    window.fbAsyncInit = function() {
274      FB.init({
275        appId      : ''+__appId+'',
276        xfbml      : true,
277        version    : 'v'+__appVer+''
278      });
279    };
280
281    (function(d, s, id) {
282      var js, fjs = d.getElementsByTagName(s)[0];
283      if (d.getElementById(id)) return;
284      js = d.createElement(s); js.id = id; js.async = true;
285      js.src = "//connect.facebook.net/ja_JP/sdk.js#xfbml=1&version=v"+__appVer+"&appId="+__appId+"";
286      fjs.parentNode.insertBefore(js, fjs);
287    }(document, 'script', 'facebook-jssdk'));
288    
289  });
290
291}
292
293
294/*--//////////////////////////////////////////
295
296generateLineShareBtn
297
298//////////////////////////////////////////--*/
299function generateLineShareBtn(__url) {
300  var scriptElm = document.createElement('script');
301  scriptElm.src = 'https://d.line-scdn.net/r/web/social-plugin/js/thirdparty/loader.min.js';
302	//scriptElm.async = 'async';
303  scriptElm.defer = 'defer';
304  document.body.appendChild(scriptElm);
305
306  window.addEventListener('load', function() {
307    var lineElm = document.createElement('div');
308    lineElm.innerHTML = '<div class="line-it-button" data-lang="ja" data-type="share-a" data-url="'+__url+'" style="display: none;"></div>';
309
310    document.querySelector('#line-share').appendChild(lineElm);
311
312  });
313}
314
315
316
317/*--//////////////////////////////////////////
318
319generateLineLikeBtn
320
321//////////////////////////////////////////--*/
322function generateLineLikeBtn(__url) {
323  var scriptElm = document.createElement('script');
324  scriptElm.src = 'https://d.line-scdn.net/r/web/social-plugin/js/thirdparty/loader.min.js';
325  scriptElm.defer = 'defer';
326  document.body.appendChild(scriptElm);
327
328  window.addEventListener('load', function() {
329    var lineElm = document.createElement('div');
330    lineElm.innerHTML = '<div class="line-it-button" data-lang="ja" data-type="like" data-url="'+__url+'" style="display: none;"></div>';
331
332    document.querySelector('#line-like').appendChild(lineElm);
333
334    //LineIt.loadButton();
335  });
336}
337
338
339/*--//////////////////////////////////////////
340
341generateLineLikeBtn
342
343//////////////////////////////////////////--*/
344function generatePlusoneBtn(__size) {
345  var scriptElm = document.createElement('script');
346  scriptElm.src = 'https://apis.google.com/js/platform.js';
347  scriptElm.innerHTML = "{lang: 'ja', parsetags: 'explicit'}";
348  document.body.appendChild(scriptElm);
349
350  window.addEventListener('load', function() {
351    var gplusElm = document.createElement('div');
352    gplusElm.innerHTML = '<div class="g-plusone" data-size="'+__size+'"></div>';
353
354    document.querySelector('#gplus-btn').appendChild(gplusElm);
355
356    gapi.plusone.go();
357  });
358}
359
360
361/*--//////////////////////////////////////////
362
363hatena
364
365//////////////////////////////////////////--*/
366function generateHatena(__url,__text){
367  
368  var str = '<a href="http://b.hatena.ne.jp/entry/'+__url+'"';
369  str += ' class="hatena-bookmark-button"';
370  str += ' data-hatena-bookmark-title="'+__text+'"';
371  str += ' data-hatena-bookmark-layout="basic-label-counter"';
372  str += ' data-hatena-bookmark-lang="ja" data-hatena-bookmark-width="115" title="このエントリーをはてなブックマークに追加">';
373  str += '<img src="https://b.st-hatena.com/images/entry-button/[email protected]" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a>';
374  str += '<script type="text/javascript" src="https://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>';
375
376  return str;
377};
378
379
380/*--//////////////////////////////////////////
381	
382initBanner
383	
384//////////////////////////////////////////--*/
385function initBanner(option){
386  
387  //デフォルト値
388  var __target = option.target || '#banner-container';
389  var __tag = option.tag || 'li';
390  
391  var target = $(__target);
392  var BANNER_IMG_PATH = Config.getBannerImgPath();
393  var BANNER_DATA = Config.getBannerData();
394  var bannerLength = BANNER_DATA.length;
395  var html = "";
396
397  for(var i = 0; i < bannerLength; i++){
398    var data = BANNER_DATA[i];
399    html += '<'+__tag+' class="banner-item"><p>';
400    html += '<a href="'+data.href+'" target="_blank">';
401    html += '<img src="'+ BANNER_IMG_PATH + data.src +'" alt="'+ data.alt +'" class="banner-img">';
402    html += '</a>';
403    html += '</p></'+__tag+'>';
404  }
405  
406  target.html(html);
407
408}//initBanner
409
410
411/*--//////////////////////////////////////////
412	
413initTrailer
414	
415//////////////////////////////////////////--*/
416function initTrailer(option){
417
418
419}
420
421
422/*--//////////////////////////////////////////
423	
424browser
425	
426//////////////////////////////////////////--*/
427function getUA(){
428	
429	var param = {
430		'iOS': false,
431		'name':"",
432		'tabvar':false,
433		'version':""
434	};
435		
436	var ua = navigator.userAgent;
437	var name = navigator.appName;
438	var version = navigator.appVersion;
439	
440	if(ua.indexOf("MSIE 6.") !=-1){
441		param.name ="IE6";
442		param.version =6;
443	}else if(ua.indexOf('MSIE 7.') != -1){
444		param.name ="IE7";
445		param.version =7;
446	}else if(ua.indexOf('MSIE 8.') != -1){
447		param.name ="IE8";
448		param.version =8;
449	}else if(ua.indexOf('MSIE 9.') != -1){
450		param.name ="IE9";
451		param.version =9;
452	}else if(ua.indexOf('MSIE 10.') != -1){
453		param.name ="IE10";
454		param.version =10;
455	}
456	
457	
458	if(ua.indexOf('iPhone') != -1){
459		
460		param.iOS = true;
461		param.name ="iPhone";
462		
463	}else if(ua.indexOf('iPad') != -1){
464		
465		param.iOS = true;
466		param.tabvar =true;
467		param.name ="iPad";
468		
469	}else if(ua.indexOf('Android') != -1){
470		
471		param.name ="Android";
472		
473		if(ua.indexOf("mobile") ==-1){
474			param.tabvar =true;
475		}
476		
477	}else if( name.indexOf("Opera") != -1){
478		
479		param.name ="Opera";
480  	}else{
481		
482		if ( version.indexOf("Safari") != -1){
483			if( version.indexOf("Chrome") != -1){
484				param.name ="Chrome";
485			}else{
486				param.name ="safari";
487			}
488		}else{
489			if( ua.indexOf("Firefox") != -1 ){
490				param.name ="FireFox";
491			}else{
492			}
493		
494		}
495	}
496		
497	return param;
498}
499
500
501/*--//////////////////////////////////////////
502	
503hash
504	
505//////////////////////////////////////////--*/
506function getHash(){
507	var hash = window.location.hash.replace('#', '');
508	if(hash ==""){
509		return null;
510	}else{
511		return hash;
512	}
513}
514
515/*--//////////////////////////////////////////
516	
517trace
518	
519//////////////////////////////////////////--*/
520function tracer(__txt,__value){
521	try{
522		if(__value){
523			console.log(__txt+": "+__value);
524		}else{
525			console.log(__txt);
526		}
527	}catch(n){}
528}
529
530
531/*--//////////////////////////////////////////
532	
533openwindow
534	
535//////////////////////////////////////////--*/
536function openWindow(__url,__name){
537	
538	var _loc2;
539	if(__name=="undefined"){
540		_loc2 ="window";
541	}else{
542		_loc2 =__name;
543	}
544	
545	window.open(__url,_loc2);
546}
547
548
549/*--//////////////////////////////////////////
550	
551changeImage
552	
553//////////////////////////////////////////--*/
554function changeImg(){
555		
556	var image_cache = new Object();
557	//$("img[src *='_off.'],input[type=image],._onoff").not().each(function () {
558	$("input[type=image],._changeImg").not().each(function () {
559		
560		var imgsrc = $(this).attr("src");
561		var imgsrc_ov = imgsrc.replace('_off.','_on.');
562			
563		$(this).hover(function () {
564			if($(this).hasClass("no-change")){return;}
565			this.src = imgsrc_ov;
566		}, function () {
567			if($(this).hasClass("no-change")){return;}
568			this.src = imgsrc;
569		});
570	});
571}
572
573
574/*--//////////////////////////////////////////
575	
576importJS
577	
578//////////////////////////////////////////--*/
579function importJS(_arg) {
580	
581  if (! new Array().push) return false;
582
583	if(typeof(_arg) == "object"){
584
585		for(var i=0; i< _arg.length; i++) {
586			document.write('<script type=\"text/javascript\" src=\"' + _arg[i] + '\"></script>');
587    	}
588	}else{
589		tracer("importJS:::: arg is not object");
590	}
591}
592
593
594var Utils = (function(){
595	
596	var browser;
597	var scrollTarget;
598	var isVisited = false;
599
600  /*--//////////////////////////////////////////
601	
602	public
603	
604	//////////////////////////////////////////--*/
605	function init(){
606		browser = getUA();
607  }//init
608	
609	
610	function getBrowser(){
611		return browser;
612	}
613
614  return {
615		init:init,
616		getBrowser:getBrowser
617	}
618	
619})();

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.