PageSourceSearch

https://service.homeposition.co.jp/wp-content/plugins/wp-sunloft/js/select_area.js?var=20261006063810

js homeposition.co.jp collected 2026-10-06 18:38:48 UTC 5,381 bytes, 161 lines download raw bytes

1/**
2 * const
3 **/
4const AREA_COOKIE_NAME = 'hparea'; //エリアのクッキー名
5const AREA_COOKIE_TIME = 30; //エリアのクッキー保存期間(日)
6
7/**
8 * エリアのリダイレクト処理
9 **/
10function redirectArea(is_home,home_url){
11  var area_cookie = getCookie(AREA_COOKIE_NAME);
12  
13  //エリア情報がクッキーに保存されていたら
14  if(area_cookie != ''){
15    //TOPページの場合はエリアごとのTOPページにリダイレクト(※トップページ以外の場合は何もしない)
16    if(is_home){
17      //静岡以外の場合はエリアごとのTOPページにリダイレクト(※静岡の場合は自身のためリダイレクトループになる)
18      switch(parseInt(area_cookie)){
19        case 2:
20          location.href = home_url+'/realestatelist/yokohama/';
21          break;
22        case 3:
23          location.href = home_url+'/realestatelist/aichi/';
24          break;
25        //20180521 add 千葉
26        case 4:
27          location.href = home_url+'/realestatelist/higashikanto/';
28          break;
29      }
30    }
31    return false;
32  }
33}
34
35/**
36 * エリア選択のダイアログ表示
37 * 2017/09/14 第二引数追加、第二引数による制御追加
38 **/
39function showAreaDialog(area_id,cookie_chk){
40  if(typeof cookie_chk === 'undefined') cookie_chk = true;
41  
42  var area_cookie = getCookie(AREA_COOKIE_NAME);
43  
44  if(cookie_chk){
45    //エリア情報がクッキーに保存されていたら何もしない
46    if(area_cookie != '') return false;
47    
48    //area_id=1,2,3,4の場合(=エリアがページ情報から判別できる場合)はクッキーにエリアを保存して終了
49    switch(area_id){
50      case 1:
51      case 2:
52      case 3:
53      case 4: //20180521 add
54      case 5: //20190531 石月追加
55        setCookie(AREA_COOKIE_NAME,area_id,AREA_COOKIE_TIME);
56        return false;
57        break;
58    }
59  }
60  
61  //$.ajax({ type: 'POST', url: ajaxurl, data: {'action' : 'view_sitename'}, dataType: 'text'})
62  //.done(function(html){
63  //  $('<div id="area-dialog"></div>').appendTo('body').html(html).dialog({modal: true, title: '案内ページ', zIndex: 10, autoOpen: true, height: 'auto', width: 'auto', resizable: false});
64  //})
65  //.fail(function(error){
66  //  return false;
67  //});
68  
69  //20190531 石月修正 ここから
70  var passStr = '';
71  var result = location.href.indexOf('demo');
72  if(result !== -1){
73    passStr = '/homeposition/demo'
74  }
75  
76  var html = '';
77  html += '<div class="batsu_btn"><button onclick="$(\'#area-dialog\').remove();"></button></div>';
78  html += '<div class="batsu_btn_bottom">';
79  html += '<p>お探しの物件エリアは?</p>';
80  html += '<div class="annnaipage_shizuoka areabtn"><button onclick="selectArea(1,\'' + passStr + '/\');">静 岡<span>エリア</span></button></div>';
81  html += '<div class="annnaipage_hamamatsu areabtn"><button onclick="selectArea(5,\'' + passStr + '/realestatelist/hamamatsu/\');">浜 松<span>エリア</span></button></div>';
82  //html += '<div class="annnaipage_kanagawa areabtn"><button onclick="selectArea(2,\'' + passStr + '/realestatelist/yokohama/\');">神奈川<span>エリア</span></button></div>';
83  html += '<div class="annnaipage_aichi areabtn"><button onclick="selectArea(3,\'' + passStr + '/realestatelist/aichi/\');">愛 知<span>エリア</span></button></div>';
84  //html += '<div class="annnaipage_higashikanto areabtn"><button onclick="selectArea(4,\'' + passStr + '/realestatelist/higashikanto/\');">千 葉<span>エリア</span></button></div>';
85
86  html += '</div>';
87  //20190531 石月修正 ここまで
88  
89  $('<div id="area-dialog"></div>').appendTo('body').html(html).dialog({modal: true, title: '案内ページ', zIndex: 10, autoOpen: true, height: 'auto', width: 'auto', resizable: false});
90}
91
92/**
93 * エリアクリック時のイベント
94 **/
95function selectArea(area_id,url){
96  setCookie(AREA_COOKIE_NAME,area_id,AREA_COOKIE_TIME);
97  location.href = url;
98}
99
100/**
101 * エリアクッキーを削除する
102 **/
103function deleteAreaCookie(){
104  deleteCookie(AREA_COOKIE_NAME);
105}
106
107/**
108 * エリアクッキーを表示する
109 **/
110function dispAreaCookie(){
111  alert(getCookie(AREA_COOKIE_NAME));
112}
113
114/**
115 * クッキーを保存
116 **/
117function setCookie(c_name,value,expiredays){
118  //pathはサイト全体共通
119  var path = '/';
120  // 有効期限の日付
121  var extime = new Date().getTime();
122  var cltime = new Date(extime + (60*60*24*1000*expiredays));
123  var exdate = cltime.toUTCString();
124  // クッキーに保存する文字列を生成
125  var s='';
126  s += c_name +'='+ escape(value);// 値はエンコードしておく
127  s += '; path='+ path;
128  if(expiredays){
129      s += '; expires=' +exdate+'; ';
130  }else{
131      s += '; ';
132  }
133  // クッキーに保存
134  document.cookie=s;
135}
136
137/**
138 * クッキーを取得
139 **/
140function getCookie(c_name){
141  var st='';
142  var ed='';
143  if(document.cookie.length>0){
144    // クッキーの値を取り出す
145    st=document.cookie.indexOf(c_name + '=');
146    if(st!=-1){
147      st=st+c_name.length+1;
148      ed=document.cookie.indexOf(';',st);
149      if(ed==-1) ed=document.cookie.length;
150      // 値をデコードして返す
151      return unescape(document.cookie.substring(st,ed));
152    }
153  }
154  return '';
155}
156
157// クッキーの削除
158function deleteCookie(cName){
159  document.cookie = cName+'=;path=/; max-age=0';
160  return true;
161}

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.