squarefoot.com.hk Ads.txt file
<!doctype html><html lang="zh-Hant"><head><meta charset="utf-8"><title>Squarefoot 5平方 - 香港優質樓盤 – 網上搵樓</title><meta name="description" content="香港搵樓網,搜尋最新及最熱門屋苑、服務式住宅及獨立屋等樓盤。 提供單位面積、價格、成交記錄、平面圖、VR全景睇樓、以及最新樓市新聞和資訊。立即瀏覽squarefoot.com.hk [5平方] 尋找您的心水樓盤。"><meta name="keywords" content="租樓,租屋,租房,買屋,買樓,搵樓,樓盤,出售,估價,物業估價,樓盤搜尋,地產,業主,代理,自讓,住宅,車位,分租,短租,村屋,工商,商廈,店舖,獨立屋,套房,土地,農地,公屋"><meta name="robots" content="index, max-image-preview:large"><meta property="og:site_name" content="Squarefoot 5平方"><meta property="og:image" content="https://www.squarefoot.com.hk/assets/images/28hse_icon_200.png"><meta property="og:image:secure_url" content="https://www.squarefoot.com.hk/assets/images/28hse_icon_200.png"><link rel="apple-touch-icon" href="/assets/images/sqfoot_icon.png" sizes="200x200"><link rel="icon" type="image/png" href="/assets/images/sqfoot_icon.png" sizes="200x200" /><link rel="shortcut icon" href="/assets/images/sqfoot_icon.png" /><link rel="canonical" href="https://www.squarefoot.com.hk/"><link rel="alternate" href="https://www.squarefoot.com.hk/" hreflang="x-default" /><link rel="alternate" href="https://www.squarefoot.com.hk/en/" hreflang="en" /><link rel="alternate" href="https://www.squarefoot.com.hk/" hreflang="zh-Hant" /><link rel="alternate" href="https://www.squarefoot.com.hk/cn/" hreflang="zh-Hans" /><link rel="dns-prefetch" href="//fonts.gstatic.com" />
<link rel="dns-prefetch" href="//fonts.googleapis.com" />
<link rel="dns-prefetch" href="//i1.28hse.com" />
<link rel="dns-prefetch" href="//in1.28hse.com" />
<link rel="dns-prefetch" href="//is1.28hse.com" />
<link rel="dns-prefetch" href="//v.28hse.com" />
<link rel="dns-prefetch" href="//ajax.googleapis.com" />
<link rel="dns-prefetch" href="//google-analytics.com" />
<link rel="dns-prefetch" href="//www.google-analytics.com" />
<link rel="preconnect" href="//www.google-analytics.com" >
<link rel="dns-prefetch" href="//chart.googleapis.com" />
<link rel="dns-prefetch" href="//googletagmanager.com" />
<link rel="preconnect" href="//googletagmanager.com" >
<link rel="dns-prefetch" href="//maps.googleapis.com" />
<link rel="dns-prefetch" href="//i1.squarefoot.com.hk" />
<link rel="dns-prefetch" href="//in1.squarefoot.com.hk" />
<link rel="dns-prefetch" href="//is1.squarefoot.com.hk" />
<link rel="dns-prefetch" href="//v.squarefoot.com.hk" />
<link rel="preload" href="/assets/js/bower_components/jquery/dist/jquery.min.js" as="script" />
<link rel="preload" href="/vendor/fomantic/dist/semantic.min.js" as="script" />
<link rel="preload" href="/assets/sqfoot/squarefoot_logo_202211.jpg" as="image" />
<link rel="preload" href="/assets/js/jquery.blImageCenter.js" as="script" />
<link rel="preload" href="/assets/photoswipe/photoswipe.min.js" as="script" />
<link rel="preload" href="/assets/photoswipe/photoswipe-ui-default.min.js" as="script" />
<link rel="preload" href="/assets/owlcarousel/owl.carousel.min.js" as="script" />
<link rel="preload" href="/assets/js/lightbox.js" as="script" />
<link rel="preload" as="font" href="/vendor/semantic/dist/themes/default/assets/fonts/icons.woff2" type="font/woff2" crossorigin="anonymous">
<link rel="preload" as="font" href="/vendor/semantic/dist/themes/default/assets/fonts/brand-icons.woff2" type="font/woff2" crossorigin="anonymous">
<link rel="preload" as="font" href="/vendor/semantic/dist/themes/default/assets/fonts/outline-icons.woff2" type="font/woff2" crossorigin="anonymous">
<link rel="preload" as="font" href="/assets/css/fonts/lato_6.woff2" type="font/woff2" crossorigin="anonymous">
<link rel="preload" as="font" href="/assets/css/fonts/lato_8.woff2" type="font/woff2" crossorigin="anonymous">
<link rel="preload" as="style" href="/assets/css/main.css?20250825155301" >
<link rel="preload" as="style" href="/vendor/fomantic/dist/semantic.min.css" >
<link rel="preload" as="style" href="/assets/css/lightbox.css" >
<link rel="preload" as="style" href="/assets/photoswipe/photoswipe.css" >
<link rel="preload" as="style" href="/assets/photoswipe/default-skin/default-skin.css" >
<link rel="preload" as="style" href="/assets/owlcarousel/assets/owl.carousel.min.css" >
<link rel="preload" as="style" href="/assets/owlcarousel/assets/owl.theme.default.min.css" >
<link rel="stylesheet" type="text/css" href="/vendor/fomantic/dist/semantic.min.css"><script src="/assets/js/bower_components/jquery/dist/jquery.min.js"></script><script defer src="/vendor/fomantic/dist/semantic.min.js"></script><link rel="stylesheet" type="text/css" href="/assets/css/main.css?20250825155301"><link rel="stylesheet" type="text/css" href="/assets/css/main_sqfoot.css?20250825155301">
<link rel="stylesheet" type="text/css" href="/assets/css/homepage.css?20250825155301">
<link rel="stylesheet" type="text/css" href="/assets/css/homepage_sqfoot.css?20250825155301">
<link rel="stylesheet" type="text/css" href="/assets/css/new_properties_re.css?20250825155301">
<link rel="stylesheet" type="text/css" href="/assets/css/property.css?20250825155301">
<meta name="geo.region" content="HK"><meta name="geo.position" content="22.356514;114.13625300000001"><meta name="ICBM" content="22.356514, 114.13625300000001"><script defer type="text/javascript">
''
//if("0" == 'iOS')
//var downloadAppUrl = 'https://itunes.apple.com/hk/app/28hse.com-xiang-gang-wu-wang/id902344223?mt=8';
//else
//var downloadAppUrl = 'https://play.google.com/store/apps/details?id=com.hse28.hse28_2';
var downloadAppUrl = "https://www.squarefoot.com.hk/appdownload";
var img_captcha = '';
var global_request_ajax_params = [];
//var max_img_size = 20000000;
var max_img_size = 40 * 1048576; //20M
var total_max_img_size = 200 * 1048576; //200M
var doBaseactionurl = 'https://www.squarefoot.com.hk' + '/base/doaction';
var requestUri = "";
var is_mobile_hse28 = '0';
var var_platform = 'website';
$(document).ready(function () {
$("a.data_link").click(function(event){
var url = $(this).attr('data-link');
var target = $(this).attr('target');
if (url) {
if (target) {
window.open(url, target);
} else {
window.location.href = url;
}
}
});
if (var_platform === 'website' && typeof lightbox !== "undefined" && lightbox.option) {
lightbox.option({
'imageFadeDuration': 0,
'fadeDuration': 0,
'resizeDuration': 0,
'wrapAround': true,
'alwaysShowNavOnTouchDevices': true
});
}
if( "1"=="1")
{
requestUri = '/';
}
//if( '0'=='1' )
//$(".content_body_outer").addClass('safeip_hse28hk_color');
$(".downloadAppClose").click(function(event){
event.preventDefault();
$(".appDownloadItem").hide();
});
$(".downloadApp").click(function(event){
event.preventDefault();
window.location.href = downloadAppUrl;
});
$(".nodownloadApp").click(function(event){
request_ajax(doBaseactionurl, {action:'nodownloadApp'},null,[],true);
});
$(".closeMemberRail").click(function (event){
$(".memberRail").remove();
});
$(".langLabel").click(function(event){
event.preventDefault();
$('.languageModal').modal({
duration:0,
})
.modal('show');
});
$(".contactusBtn").unbind('click').click(function(event){
event.preventDefault();
let myFunction=function(data)
{
//console.dir(data);
let html = data.results;
if($('.mfooter').length >= 1)
{
$('.mfooter').append(html);
}
else
$('.footer').append(html);
$('.contactus_div').modal({
duration:0,
})
.modal('show');
}
if($(".contactus_div").length == 0) {
request_ajax(doBaseactionurl, {action:'getContactUs'},myFunction,[]);
}
else
{
$('.contactus_div').modal({
duration:0,
})
.modal('show');
}
});
$(".termsBtn").click(function(event){
event.preventDefault();
let myFunction=function(data)
{
let html = data.results;
if( is_mobile )
$('.mfooter').append(html);
else
{
$('.mfooter').append(html);
$('.footer').append(html);
}
$('.terms_div').modal({
duration:0,
})
.modal('show');
}
if($(".terms_div").length == 0) {
request_ajax(doBaseactionurl, {action:'getTerms'},myFunction,[]);
}
else
{
$('.terms_div').modal({
duration:0,
})
.modal('show');
}
});
$(".privacyBtn").click(function(event){
event.preventDefault();
let myFunction=function(data)
{
//console.dir(data);
let html = data.results;
if( is_mobile )
$('.mfooter').append(html);
else
{
$('.footer').append(html);
$('.mfooter').append(html);
}
$('.privacy_div').modal({
duration:0,
})
.modal('show');
}
if($(".privacy_div").length == 0) {
request_ajax(doBaseactionurl, {
action:'getPrivacy',
privacy_mode: privacy_mode
},myFunction,[]);
}
else
{
$('.privacy_div').modal({
duration:0,
})
.modal('show');
}
});
$(".mheader_back").click(function(){
bind_mheader_back_btn( );
});
$("#mmenu_btn").click(function(){
$(".msidebar").sidebar('toggle');
});
$("#msg_captcha_refresh_btn").click(function(event){
event.preventDefault();
refresh_captcha_img();
});
$(".overseadropdown").dropdown();
$('.logout_href').click(function (event){
event.preventDefault();
userLogout();
});
$(".langBtn Button").click(function(event){
event.preventDefault();
let attr = $(this).attr('attr');
let directUrl = $(this).hasClass('directUrl');
if(directUrl)
{
var url = $(this).children('a').attr('href');
if(url && url.length >= 1) {
window.location.href = url;
}
}
var url = 'https://www.squarefoot.com.hk';
if(attr === 'cn')
url = url + '/cn';
else if(attr === 'en')
url = url + '/en';
if( "1"=="1")
{
requestUri = requestUri.replace( "/cn/", "/" ).replace( "/tc/", "/" ).replace( "/en/", "/" );
url = url + requestUri;
request_ajax( doBaseactionurl, {action:'setLang', lang: attr }, function(){ window.location.href = url; }, [] );
}
else
window.location.href = url;
});
});
function bind_mheader_back_btn( )
{
if(document.referrer && (document.referrer.includes("28hse") || document.referrer.includes("squarefoot") )){
window.history.go(-1);
return false;
}
else
{
window.location.href = 'https://www.squarefoot.com.hk';
}
}
function userLogout()
{
let logoutFunction =function ()
{
let myFunction = function(){
window.location.href = 'https://www.squarefoot.com.hk';
};
request_ajax('https://www.squarefoot.com.hk'+'/member/logout',{},myFunction,[]);
};
__alert('確認登出',true,logoutFunction,[]);
}
function refresh_captcha_img(wclick = true){
//if(wclick)
//{
// event.stopPropagation();
// event.preventDefault();
//}
var request = $.ajax({
url: '/base/doaction',
type: "POST",
data: {action: 'refreshCaptcha'},
dataType: "json"
});
request.done(function(msg_arr) {
if(!__alert_custom_error(msg_arr))
{
var data = msg_arr['data'];
$("#img_captcha").attr('src',data);
img_captcha = data;
}
});
}
function __alert_custom_error(msg_arr,call_back){
var status = msg_arr["status"]; //1 OK,
var result = msg_arr["result"]; //1 set OK, 2 have problem.
var error_code = msg_arr["error_code"];
var error_msg = msg_arr["error_msg"];
var result_error_code = msg_arr["result_error_code"];
var result_error_msg = msg_arr["result_error_msg"];
var debugs = msg_arr["debug"];
var with_error = 0;
var my_error_message = "";
var contacts_hse28_html = "<div><p></p><p>如有問題請使用下面的方法聯系我們:<br>Tel: 852-31523345<br>WhatsApp: 852-46117935<br>Email: squarefoothk@squarefoot.com.hk<br>Fax: 852-30208775 / 852-39094625</p></div>";
//$(".ui.dimmer").removeClass('active');
if(debugs)
debug_out(debugs);
if(status == 0)
{
with_error = 1;
if(error_code)
my_error_message += "錯誤碼: "+error_code+"\n";
if(error_msg)
my_error_message += "錯誤訊息: "+error_msg+"\n";
my_error_message += contacts_hse28_html;
}
if(result == 2 || result == 0)
{
with_error = 1;
if(result_error_code)
my_error_message += "錯誤碼: "+result_error_code+"\n";
if(result_error_msg)
my_error_message += "錯誤訊息: "+result_error_msg+"\n";
else
my_error_message += "錯誤訊息\n";
}
if(with_error == 1 && my_error_message.length <= 0)
my_error_message = "錯誤";
if(with_error == 1)
{
__alert_overlap_allow(my_error_message,false, call_back, []);
return 1;
}
return 0;
}
function __alert_overlap_allow(mymessage,wconfirm,mycallback,mycallback_args)
{
$("#alert_div .words").html(mymessage);
if(wconfirm == true)
{
$(".actions.normal").hide();
$(".actions.wconfirm").show();
}
else
{
$(".actions.normal").show();
$(".actions.wconfirm").hide();
}
$('#alert_div').modal({
duration : 0,
allowMultiple: true,
closable : true,
onDeny : function(){
return true;
},
onApprove : function() {
//if(action == "removeSomeHistory")
//{
// removeSomeHistory(var1);
//}
mycallback_args.push("confirm");
mycallback.apply(this,mycallback_args);
return true;
}
})
.modal('show');
}
function __alert(mymessage,wconfirm,mycallback,mycallback_args, mycallback_deny=null )
{
$("#alert_div .words").html(mymessage);
if(wconfirm == true)
{
$(".actions.normal").hide();
$(".actions.wconfirm").show();
}
else
{
$(".actions.normal").show();
$(".actions.wconfirm").hide();
}
$('#alert_div').modal({
duration: 0,
allowMultiple: false,
closable : true,
onDeny : function(){
if( mycallback_deny!==null )
mycallback_deny.apply(this);
return true;
},
onApprove : function() {
//if(action == "removeSomeHistory")
//{
// removeSomeHistory(var1);
//}
mycallback_args.push("confirm");
mycallback.apply(this,mycallback_args);
return true;
}
})
.modal('show');
}
function __alert_force_wait(mymessage,wconfirm,mycallback,mycallback_args)
{
$("#alert_div .words").html(mymessage);
if(wconfirm == true)
{
$(".actions.normal").hide();
$(".actions.wconfirm").show();
}
else
{
$(".actions.normal").show();
$(".actions.wconfirm").hide();
}
$(".actions.normal").hide();
$(".ui.cancel.button").hide();
$(".actions.wconfirm").show();
$('#alert_div').modal({
duration : 0,
closable : false,
onDeny : function(){
return true;
},
onApprove : function() {
//if(action == "removeSomeHistory")
//{
// removeSomeHistory(var1);
//}
mycallback_args.push("confirm");
mycallback.apply(this,mycallback_args);
return true;
}
})
.modal('show');
}
//Make a function to detect the browser is Chrome or not
function isChromeBrowser() {
var userAgent = window.navigator.userAgent;
// Check for Chrome on Android
var isAndroidChrome = /Chrome/.test(userAgent) && /Android/.test(userAgent);
// Check for Chrome on iOS (CriOS)
var isiOSChrome = /CriOS/.test(userAgent);
return isAndroidChrome || isiOSChrome;
}
function is_hk_phone_no(phone){
var accept_first_digit = [2,3,4,5,6,7,8,9];
if( !phone || phone.length != 8 )
return false;
var init_digit = phone.substring(0, 1);
//if(init_digit != 4 && init_digit != 5 && init_digit != 6 && init_digit != 8 && init_digit != 9)
if( !accept_first_digit.includes( parseInt( init_digit ) ) )
return false;
return true;
}
function is_valid_wechat_id( wechat_id )
{
if( !wechat_id )
return false;
var wechat_id_check = new RegExp( '^[a-zA-Z][a-zA-Z0-9_\\-]{5,19}$', 'i');
if( wechat_id_check.test( wechat_id ) )
return true;
return false;
}
function is_hk_mobile(phone){
var accept_first_digit = [4,5,6,8,9,7];
if( !phone || phone.length != 8 )
return false;
var init_digit = phone.substring(0, 1);
//if(init_digit != 4 && init_digit != 5 && init_digit != 6 && init_digit != 8 && init_digit != 9)
if( !accept_first_digit.includes( parseInt( init_digit ) ) )
return false;
return true;
}
function toast(text, duration) {
$('.toast-container').remove();
duration = duration || 1000;
var html = '<div class="toast-container"><div class="toast">'+text+'</div></div>';
$('body').append(html);
setTimeout(function() {
$('.toast-container').animate({opacity: 0}, duration/2, function() {
$('.toast-container').remove();
});
}, duration*2);
}
function removeSomeHistory( myitem , id)
{
var removeLots = 30;
if(myitem != null)
{
var existingItems = JSON.parse(localStorage.getItem(myitem));
if(id || id === 0)
{
existingItems.splice(id, 1);
localStorage.setItem(myitem, JSON.stringify(existingItems));
}
else if(existingItems.length >= removeLots)
{
existingItems = existingItems.slice(0, existingItems.length - removeLots);
localStorage.setItem(myitem, JSON.stringify(existingItems));
}
}
}
function storehistory( app, item, _name, _value, _remark, action_remove, isconfirm_remove_refresh_function, isconfirm_remove ){
var limit = 100;
if(item === "fav")
limit = 300;
else if(item === "property_search_conditions_buy" || item === "property_search_conditions_rent")
limit = 15;
else if(item === 'new-properties' )
limit = 15;
else if (item === 'investment')
limit = 15;
else if (item === 'estate_page')
limit = 15;
else if (item === 'valuation_history_valuation_history_item')
limit = 20;
//console.log(limit+'storehistory here'+app+'--'+item);
//if(__alert("test",true,'removeSomeHistory',app+'_'+item))
//{
// alert('can remove here');
//}
if (typeof(Storage) !== "undefined" && window.localStorage) {
var existingItems = JSON.parse(localStorage.getItem(app+'_'+item));
if(item == "fav" && existingItems && existingItems.length >= limit && action_remove != true)
{
if(isconfirm_remove)
{
removeSomeHistory(app+'_'+item);
//refresh to get the latest one after removal
existingItems = JSON.parse(localStorage.getItem(app+'_'+item));
}
else
{
__alert('紀錄資料最大為 '+limit+' 筆,請按確認先刪除 30 筆舊紀錄',true,storehistory,[app, item, _name, _value, _remark, action_remove, isconfirm_remove_refresh_function]);
return;
}
}
if(existingItems)
{
//remove repeat item.
existingItems.forEach(function(item,index,object) {
if(item.val == _value)
object.splice(index,1);
});
}
else
existingItems = [];
if(!action_remove)
{
//add new item here
var datetime = new Date().getTime();//new Date().toLocaleString();
var newItem = {time: datetime, name: _name, val: _value, remark: _remark};
existingItems.unshift(newItem);
}
if(existingItems.length > limit && item != "fav")
existingItems = existingItems.slice(0, limit);
localStorage.setItem(app+'_'+item, JSON.stringify(existingItems));
//localstorage[app][item]=value;
if(isconfirm_remove && isconfirm_remove_refresh_function)
isconfirm_remove_refresh_function();
return true;
} else {
// Sorry! No Web Storage support..
return false;
}
}
function readhistory( app, item, with_item_arr ){
if (typeof(Storage) !== "undefined" && window.localStorage) {
var existingItems = JSON.parse(localStorage.getItem(app+'_'+item));
if(!with_item_arr)
return existingItems;
else
{
var result_Favs = [];
if(existingItems && existingItems.length >= 1)
{
existingItems.forEach(function(item){
var id = item['val'];
if(id)
{
result_Favs.push(id);
}
});
}
return result_Favs;
}
} else {
// Sorry! No Web Storage support..
}
}
function validateEmail(email) {
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(String(email).toLowerCase());
}
function deletehistory( app, item, reload_url ){
if (typeof(Storage) !== "undefined" && window.localStorage && app && item) {
localStorage.removeItem(app+'_'+item);
if(reload_url && reload_url.length >= 1)
window.open(reload_url,"_self");
}
}
function goBack_page(){
MainContentManager.backSingleStep();
}
function refresh_the_page(){
MainContentManager.pageRefresh();
}
function reload_the_page(){
location.reload();
}
function request_ajax_sync(ajax_url,data_arr,mycallback,mycallback_args,silence,silence_error)
{
var request = $.ajax({
url: ajax_url,
type: "POST",
async: false,
data: data_arr,
dataType: "json"
});
request.done(function(msg_arr) {
var status = msg_arr["status"];
var data = msg_arr["data"];
var result = msg_arr["result"];
if(silence_error !== true && __alert_custom_error(msg_arr))
{
$('.loadingDimmer').removeClass('active');
//with error
return false;
}
global_request_ajax_params = [ajax_url,data_arr,mycallback,mycallback_args];
if(mycallback && mycallback != false)
{
//if(data && 'results' in data && data['results'])
//mycallback_args.push(data['results']);
//else
if(result == 2)
{
data = {result_error_data:msg_arr['result_error_data'],result_error_msg:msg_arr['result_error_msg']};
}
mycallback_args.push(data);
mycallback.apply(this,mycallback_args);
}
else if (silence == true)
{
//do nothing
}
else
{
if(data && 'msg' in data && data['msg'])
__alert('This task has finished. Return msg:'+data['msg']+'.');
else
__alert('This task has finished. No return msg.');
}
return true;
});
}
function request_get_ajax(ajax_url,data_arr,mycallback,mycallback_args,silence,silence_error)
{
var request = $.ajax({
url: ajax_url,
type: "GET",
data: data_arr,
dataType: "json"
});
request.done(function(msg_arr) {
var status = msg_arr["status"];
var data = msg_arr["data"];
var result = msg_arr["result"];
if(silence_error !== true && __alert_custom_error(msg_arr))
{
$('.loadingDimmer').removeClass('active');
//with error
return false;
}
global_request_ajax_params = [ajax_url,data_arr,mycallback,mycallback_args];
if(mycallback && mycallback != false)
{
//if(data && 'results' in data && data['results'])
//mycallback_args.push(data['results']);
//else
if(result == 2)
{
data = {result_error_data:msg_arr['result_error_data'],result_error_msg:msg_arr['result_error_msg']};
}
mycallback_args.push(data);
mycallback.apply(this,mycallback_args);
}
else if (silence == true)
{
//do nothing
}
else
{
if(data && 'msg' in data && data['msg'])
__alert('This task has finished. Return msg:'+data['msg']+'.');
else
__alert('This task has finished. No return msg.');
}
return true;
});
}
function request_ajax(ajax_url,data_arr,mycallback,mycallback_args,silence,silence_error)
{
var request = $.ajax({
url: ajax_url,
type: "POST",
data: data_arr,
dataType: "json"
});
request.done(function(msg_arr) {
var status = msg_arr["status"];
var data = msg_arr["data"];
var result = msg_arr["result"];
if(silence_error !== true && __alert_custom_error(msg_arr))
{
$('.loadingDimmer').removeClass('active');
//with error
return false;
}
global_request_ajax_params = [ajax_url,data_arr,mycallback,mycallback_args];
if(mycallback && mycallback != false)
{
//if(data && 'results' in data && data['results'])
//mycallback_args.push(data['results']);
//else
if(result == 2)
{
data = {result_error_data:msg_arr['result_error_data'],result_error_msg:msg_arr['result_error_msg']};
}
mycallback_args.push(data);
mycallback.apply(this,mycallback_args);
}
else if (silence == true)
{
//do nothing
}
else
{
if(data && 'msg' in data && data['msg'])
__alert('This task has finished. Return msg:'+data['msg']+'.');
else
__alert('This task has finished. No return msg.');
}
return true;
});
}
function _jsonParse(str){
//console.log(str);
// preserve newlines, etc - use valid JSON
str = str.replace(/\\n/g, "\\n")
.replace(/\\'/g, "\\'")
.replace(/\\"/g, '\\"')
.replace(/\\&/g, "\\&")
.replace(/\\r/g, "\\r")
.replace(/\\t/g, "\\t")
.replace(/\\b/g, "\\b")
.replace(/\\f/g, "\\f");
// remove non-printable and other non-valid JSON chars
str = str.replace(/[\u0000-\u0019]+/g,"");
try {
return !str || str == null ? '{}' : JSON.parse(str);
} catch (e) {
//console.log('Error to do the JSON.parase!');
//alert('Error to do the JSON.parase!');
}
}
//mainly for move of the pic item inside Pics
function array_move(arr, old_index, new_index) {
if (new_index >= arr.length) {
var k = new_index - arr.length + 1;
while (k--) {
arr.push(undefined);
}
}
arr.splice(new_index, 0, arr.splice(old_index, 1)[0]);
return arr; // for testing
};
//words limit for some textarea inputs field.
function __limits(obj, limit, target){
var limit_org = limit;
target.show();
var text = $(obj).val();
//newline not count
if(text)
{
var length = text.replace(/\n/g, "").length;
if(length > limit){
var length_newline = (text.match(/\n/g) || []).length;
var limit_word = parseInt(limit) + parseInt(length_newline);
$(obj).val(text.substr(0,limit_word));
length = limit;
} else { // alert the user of the remaining char. I do alert here, but you can do any other thing you like
}
target.html(''+length+''+'/'+limit_org);
}
}
Number.prototype.numberFormat = function(c, d, t){
var n = this,
c = isNaN(c = Math.abs(c)) ? 2 : c,
d = d == undefined ? "." : d,
t = t == undefined ? "," : t,
s = n < 0 ? "-" : "",
i = String(parseInt(n = Math.abs(Number(n) || 0).toFixed(c))),
j = (j = i.length) > 3 ? j % 3 : 0;
return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
};
String.prototype.replaceAll = function(search, replacement) {
var target = this;
return target.split(search).join(replacement);
};
/**
* recursive to do the Jquery serializeArray
*/
$.fn.serializeControls = function() {
var data = {};
function buildInputObject(arr, val) {
if (arr.length < 1)
return val;
var objkey = arr[0];
if (objkey.slice(-1) == "]") {
objkey = objkey.slice(0,-1);
}
var result = {};
if (arr.length == 1){
result[objkey] = val;
} else {
arr.shift();
var nestedVal = buildInputObject(arr,val);
result[objkey] = nestedVal;
}
return result;
}
$.each(this.serializeArray(), function() {
var val = this.value;
var c = this.name.split("[");
var a = buildInputObject(c, val);
$.extend(true, data, a);
});
return data;
}
function isJson(str) {
try {
JSON.parse(str);
} catch (e) {
return false;
}
return true;
}
function int2ip (ipInt) {
return ( (ipInt>>>24) +'.' + (ipInt>>16 & 255) +'.' + (ipInt>>8 & 255) +'.' + (ipInt & 255) );
}
function isTrue(value)
{
if(value === 0 || value === '0' || value === false)
return 0;
if(value === 1 || value === '1' || value === true)
return 1;
}
/**
* Clear modal before feed somem html content.
*/
function clearPopUpModal()
{
//remove all modals init already.
$(".ui.modals").children("div").not('#alert_div, .notRemovalModal').remove();
}
/**
*
* @param div_name
* @param input_name_prefix
* After the inserting of a pairs of input. Use this function to rename the input name with correct index.
*/
function reNumber_input_arr_index(div_name,input_name_prefix) {
$("."+div_name).each(function(index) {
var prefix = input_name_prefix+"[" + index + "]";
$(this).find("input").each(function() {
var reg = new RegExp(input_name_prefix+"\[[0-9]+\]");
this.name = this.name.replace(reg, prefix);
});
});
}
function copyToClipboard(contentString) {
var $temp = $("<input>");
$("body").append($temp);
$temp.val(contentString).select();
document.execCommand("copy");
$temp.remove();
}
function gotourl(url)
{
window.location.replace(url);
}
function isFacebookInAppBrowser() {
var ua = navigator.userAgent || navigator.vendor || window.opera;
return (ua.indexOf("FBAV") > -1);
}
function isSpider() {
const userAgent = navigator.userAgent.toLowerCase();
// List of common web crawlers
const crawlers = [
'googlebot',
'bingbot',
'yandexbot',
'duckduckbot',
'baiduspider',
'slurp',
'ia_archiver',
'facebot',
'twitterbot',
'mj12bot',
'ahrefsbot',
'semrushbot',
'dotbot',
'petalbot'
];
// Check if the user agent matches any of the known crawlers
return crawlers.some(crawler => userAgent.includes(crawler));
}
function need_to_trigger_fav_btn( )
{
var favBtnColor = 'yellow';
var favBtnStyle = 'star';
if( !$(".favheartBtn .icon").hasClass( favBtnColor ) )
return true;
else
return false;
}
function enable_fav_btn_only( )
{
var favBtnColor = 'yellow';
var favBtnStyle = 'star';
if( $('.favheartBtn .icon').length )
{
if( $(".favheartBtn .icon").hasClass( favBtnColor ) )
return false;
if( $(".favheart.favheartBtn.action_link_app").length > 0 )
$(".favheart.favheartBtn.action_link_app").trigger('click');
else
$(".favheartBtn").trigger('click');
}
else if( $(".mfav").length ) //新盤 website
{
if( $('.mfav .icon').hasClass( favBtnColor ) )
return false;
$(".mfav").trigger('click');
}
else if( $(".mobile_fav").length ) //新盤 mobile
{
if( $('.mobile_fav .icon').hasClass( favBtnColor ) )
return false;
$(".mobile_fav").trigger('click');
}
else if( $(".fav_icon").length )
{
if( $('.fav_icon .icon').hasClass( favBtnColor ) )
return false;
$(".fav_icon").trigger('click');
}
return true;
}
function includesNonStrict(array, value) {
return array.some(element => element == value);
}
''</script>
<link rel="stylesheet" type="text/css" href="/assets/css/lightbox.css"><script defer src="/assets/js/lightbox.js"></script></head><body class=""><header><div align="center"><div class="ui header_body container"><div class="ui grid"><div class="three wide column"><a href="https://www.squarefoot.com.hk"><img src="/assets/sqfoot/squarefoot_logo_202211.jpg" alt="squarefoot 5平方 Logo" width="110px" style="padding-top: 15px !important;" /></a></div><div class="thirteen wide column left aligned"><div class="ui grid"><div class="sixteen wide column right aligned"><div class="hearder_menu hearder_menu_right" style="padding-right: 50px !important;"><div class="login_div"><a href="#" class="langLabel">Language</a> <span class="less_span">|</span> <a href="https://www.squarefoot.com.hk/member/login">會員登入</a> <span class="less_span">|</span> <a href="https://www.squarefoot.com.hk/member/register">會員註冊</a><span class="less_span">|</span> <a class="priceTableBtn_homepage" style="cursor:pointer;">收費標準</a></div></div></div><script type="application/javascript">
$(document).ready(function(){
$(".priceTableBtn_homepage").click(function(){
$(".priceTableModal").modal({
duration:0
}).modal('show');
});
});
</script><div class="sixteen wide column left aligned"><div class="ui secondary pointing menu hearder_menu"><a href='https://www.squarefoot.com.hk/' class="item active">地產主頁</a><a href='https://www.squarefoot.com.hk/buy' class="item ">買樓</a><a href='https://www.squarefoot.com.hk/rent' class="item ">租屋</a><span class="separation item">|</span><a href='https://www.squarefoot.com.hk/service-apartment/' class="item ">服務式住宅</a><a href='https://www.squarefoot.com.hk/new-properties/' class="item ">新盤</a><a href='https://www.squarefoot.com.hk/estate/' class="item ">屋苑成交</a><a href='javascript:openSelectHeaderModal("office")' class="item ">辦公室</a><a href='javascript:openSelectHeaderModal("carpark")' class="item ">車位</a><a href='javascript:openSelectHeaderModal("shop")' class="item ">店舖</a><a href='https://www.squarefoot.com.hk/valuation/' class="item ">物業估價</a><a href='https://www.squarefoot.com.hk/mortgage/' class="item ">置業按揭</a><a href='https://www.squarefoot.com.hk/news/' class="item ">新聞資訊</a><a href='https://www.squarefoot.com.hk/schoolnet/' class="item ">校網</a><a href='https://www.squarefoot.com.hk/agent/' class="item ">地產代理</a><a href='https://www.squarefoot.com.hk/epi/' class="item ">易發樓價指數</a></div></div></div></div></div></div></div></header>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-PZFR4P7JMY"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-PZFR4P7JMY');
</script>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-N3JXKV69');</script>
<!-- End Google Tag Manager -->
<script defer type="application/javascript">
''
var scroll = 0;
let doactionurl = 'https://www.squarefoot.com.hk'+'/base/doaction';
var validCountUrl = 'https://www.squarefoot.com.hk/property/doaction';
var counter_num = 0;
let isShowTerms = '';
let isShowContactUs = '';
let isShowPrivacy = '';
var is_mobile = '0' == '1' ? true : false;
var privacy_mode = 'normal';
$(document).ready(function() {
$(".ui.dropdown").dropdown();
$('.newDeveloperLists').hover(function (event){
$('.newDeveloperLists').removeClass('teal');
$(this).addClass('teal')
});
$(".buyRent").click(function (event){
event.preventDefault();
});
$(".userLabel").click(function(event){
event.preventDefault();
gotourl('https://www.squarefoot.com.hk/member/');
});
$('.property_search_word_btn').click(function (event){
event.preventDefault();
let word = $("input[name=property_search_word]:visible").val();
var buyRent = $(this).hasClass('rent') ? 'rent' : 'buy';
//if(buyRent === 'rent')
// $("input[name=price][attr=buy]").remove();
if(is_mobile)
buyRent = $(".rent_menu").is(":visible") ? 'rent' : 'buy';
if(word) {
var url = 'https://www.squarefoot.com.hk' + '/'+buyRent+'/residential?search_words_value=' + word + '&search_words_thing=&search_words=' + word;
window.location.href = url;
}
});
$('.priceTableBtn').click(function(event){
event.preventDefault();
$(".priceTableModal").modal({
duration: 0,
}).modal('show');
});
if(isSpider() == false)
{
''
$(".downloadAPPModal").modal({
duration: 0,
inverted: false,
})
.modal('show');
''
}
//Mobile
//$(".sell .detail_page:gt(4)").hide();
//$(".rent .detail_page:gt(4)").hide();
//Desktop
$(".buy .desktop_card:gt(11)").hide();
$(".rent .desktop_card:gt(11)").hide();
$(".showMoreBtn").click(function(event){
event.preventDefault();
let myFunction = function(){
$([document.documentElement, document.body]).animate({
scrollTop: scroll
}, 0);
}
scroll = $(window).scrollTop();
//Mobile
$(this).parents('.homepageListing').find(".detail_page").show(0, myFunction);
//Desktop
$(this).parents('.homepageListing').find(".desktop_card").show(0, myFunction);
$(this).closest('.listingBtnOuter').hide();
});
$(".threeItemsMenu a").click(function (event){
event.preventDefault();
let menu = $(this).attr('attr');
$(".threeItemsMenu a").removeClass('active');
$(this).addClass('active');
$(".mobile_homepage_menu_icons").hide();
$("."+menu).show();
});
$('.detail_page').click(function(event){
event.preventDefault();
var href=$(this).attr('href');
if(!href)
href=$(this).attr('attr2');
window.location.href = href;
});
if(isShowTerms)
{
$(".termsBtn").trigger('click');
}
else if(isShowContactUs)
{
$(".contactusBtn").trigger('click');
}
else if(isShowPrivacy)
{
$(".privacyBtn").trigger('click');
}
/*if( privacy_mode!='normal' )
{
if($(".privacy_div").length == 0)
{
request_ajax(doBaseactionurl, {action:'getPrivacy', privacy_mode: privacy_mode},function( data ){
let html = data.results;
$('.mfooter').append(html);
$('.footer').append(html);
$('.privacy_div').modal({
duration:0,
}).modal('show');
},[]);
}
else
{
$('.privacy_div').modal({
duration:0,
})
.modal('show');
}
}*/
''
$(".homepage_search_sqfoot .buyRent").click(function (){
$(".homepage_search_sqfoot .buyRent").removeClass('active');
$(this).addClass('active');
let buyRentattr = $(this).attr('attr');
$(".priceRanges").hide();
$(".rentRanges").hide();
if(buyRentattr === 'MenuBuy') {
$(".priceRanges").show();
$(".property_form").attr('action','https://www.squarefoot.com.hk/buy');
$("input[name=price_selection_index]").removeAttr('disabled');
$("input[name=rentprice_selection_index]").attr('disabled','');
}
else {
$(".rentRanges").show();
$(".property_form").attr('action','https://www.squarefoot.com.hk/rent');
$("input[name=price_selection_index]").attr('disabled');
$("input[name=rentprice_selection_index]").removeAttr('disabled','');
}
changeSearchBtnColor( );
});
$(".district_group_dropdown").dropdown({
duration:0,
onChange:function(value, text, $selectedItem){
var mainDistrict = $(".district_dropdown .active.item").attr( 'data-value' );
if( value!='' && parseInt( value )!=0 )
$('input[name=locations]').val( mainDistrict + ',' + value );
else
$('input[name=locations]').val( mainDistrict );
changeSearchBtnColor( );
}
});
$(".district_dropdown").dropdown({
duration:0,
onChange:function(value,text,$selectedItem){
if( value==0 )
{
$("input[name=locations]").val( '' );
$(".district_group_field").hide( );
$(".district_group_inline_fields").hide();
}
else
{
$(".district_group_inline_fields").show();
$(".district_group_field").hide();
$(".district_group_field[district=" + value + "]").show( );
var subDistrict = $(".district_group_field[district=" + value + "] input[name=district_group_" + value + "]").val();
if( subDistrict!='' && parseInt( subDistrict )!=0 )
$("input[name=locations]").val( value + ',' + subDistrict );
else
$("input[name=locations]").val( value );
}
changeSearchBtnColor( );
}
});
$(".priceRanges .ui.dropdown, .rentRanges .ui.dropdown, .mainTypeDropdown, .roomRange").dropdown({
duration:0,
onChange:function( value, text, selectedItem ){
changeSearchBtnColor( );
}
});
$(".homepage_search_sqfoot .searchBtn").click(function (){
if($(".priceRanges").is(":hidden"))
$("input[name=price][attr=price]").remove();
else
$("input[name=price][attr=rent]").remove();
$("input[name=district_group_hk]").remove();
$("input[name=district_group_kw]").remove();
$("input[name=district_group_nt]").remove();
$("input[name=district_group_islands]").remove();
$(".property_form").submit();
});
});
function countFavFromServer( item )
{
counter_num = 0;
request_ajax_sync( validCountUrl, {
action: 'getValidCount',
ids: item.join(',')
}, function( data ){
counter_num = data.results.valid_count;
}, []);
}
function countFav( key, item )
{
var Favs = readhistory( key, item );
if( Favs==null )
return 0;
else
return Favs.length;
}
function getIdsFromFav( key, item )
{
var Favs = readhistory( key, item );
var items = [];
if(Favs && Favs.length >= 1)
{
Favs.forEach(function (item){
items.push( item['val'] );
});
}
return items;
}
function compareArray( array1, array2 )
{
var is_equal = array1.length==array2.length && array1.every(function(v,i) { return ($.inArray(v,array2) != -1)});
return is_equal;
}
function getItemIdsStored( key, item )
{
var Favs = readhistory( key + '_stored', item );
if(Favs && Favs.length >= 1)
return Favs[0]['val'];
return [];
}
function deleteItemIdsStored( key, item )
{
var Favs = deletehistory( key + '_stored', item );
}
function storeItemIdsStored( key, item )
{
var Favs = readhistory( key, item );
var items = [];
if(Favs && Favs.length >= 1)
{
Favs.forEach(function (item){
items.push( item['val'] );
});
}
storehistory( key + '_stored', item, '', items );
}
function storeFavVisitedResult( channel, fav_or_visited, buy_count, rent_count )
{
deletehistory( 'property_' + channel + '_result', fav_or_visited );
var result = { buy: buy_count, rent: rent_count };
storehistory( 'property_' + channel + '_result', fav_or_visited, '', result );
}
function loadFavVisitedResult( channel, fav_or_visited )
{
var Favs = readhistory( 'property' + '_' + channel + '_result' , fav_or_visited );
if(Favs && Favs.length >= 1)
return Favs[0]['val'];
else
return { buy:false, rent:false };
}
function loadAfterOpenFavListModal( )
{
var buyFavName = 'property_buy';
var rentFavName = 'property_rent';
var addWord = '住宅 ';
var residential_fav_result = loadFavVisitedResult( 'residential', 'fav' );
if( residential_fav_result.buy===false )
var count_buy = countFav( buyFavName, 'fav');
else
var count_buy = residential_fav_result.buy;
if( residential_fav_result.rent===false )
var count_rent = countFav( rentFavName, 'fav');
else
var count_rent = residential_fav_result.rent;
var residential_visited_result = loadFavVisitedResult( 'residential', 'visited' );
if( residential_visited_result.buy===false )
var count_buy_visited = countFav( buyFavName,'visited');
else
var count_buy_visited = residential_visited_result.buy;
if( residential_visited_result.rent===false )
var count_rent_visited = countFav( rentFavName, 'visited');
else
var count_rent_visited = residential_visited_result.rent;
var buy_item_ids = getIdsFromFav( buyFavName, 'fav' );
var buy_item_ids_stored = getItemIdsStored( buyFavName, 'fav' );
if( buy_item_ids.length )
{
if( !compareArray( buy_item_ids, buy_item_ids_stored ) )
{
countFavFromServer( buy_item_ids );
count_buy = counter_num;
deleteItemIdsStored( buyFavName, 'fav' );
storeItemIdsStored( buyFavName, 'fav' );
}
}
else
count_buy = 0;
var buy_word = addWord + '售盤: %NUM% 則廣告 >';
buy_word = buy_word.replace("%NUM%", count_buy );
$(".buy_fav_list").html( '<a href="https://www.squarefoot.com.hk/buy?myfav=1&item_ids=' + buy_item_ids.join(',') + '">' + buy_word + '</a>');
var rent_item_ids = getIdsFromFav( rentFavName, 'fav' );
var rent_item_ids_stored = getItemIdsStored( rentFavName, 'fav' );
if( rent_item_ids.length )
{
if( !compareArray( rent_item_ids, rent_item_ids_stored ) )
{
countFavFromServer( rent_item_ids );
count_rent = counter_num;
deleteItemIdsStored( rentFavName, 'fav' );
storeItemIdsStored( rentFavName, 'fav' );
}
}
else
count_rent = 0;
var rent_word = addWord + '租盤: %NUM% 則廣告 >';
rent_word = rent_word.replace("%NUM%", count_rent );
$(".rent_fav_list").html( '<a href="https://www.squarefoot.com.hk/rent?myfav=1&item_ids=' + rent_item_ids.join(',') + '">' + rent_word + '</a>');
storeFavVisitedResult( 'residential', 'fav', count_buy, count_rent );
var buy_item_ids = getIdsFromFav( buyFavName, 'visited' );
var buy_item_ids_stored = getItemIdsStored( buyFavName, 'visited' );
if( buy_item_ids.length )
{
if( !compareArray( buy_item_ids, buy_item_ids_stored ) )
{
countFavFromServer( buy_item_ids );
count_buy_visited = counter_num;
deleteItemIdsStored( buyFavName, 'visited' );
storeItemIdsStored( buyFavName, 'visited' );
}
}
else
count_buy_visited = 0;
var buy_word = addWord + '售盤: %NUM% 則廣告 >';
buy_word = buy_word.replace("%NUM%", count_buy_visited );
$(".buy_visited_list").html( '<a href="https://www.squarefoot.com.hk/buy?myvisited=1&item_ids=' + buy_item_ids.join(',') + '">' + buy_word + '</a>');
var rent_item_ids = getIdsFromFav( rentFavName, 'visited' );
var rent_item_ids_stored = getItemIdsStored( buyFavName, 'visited' );
if( rent_item_ids.length )
{
if( !compareArray( rent_item_ids, rent_item_ids_stored ) )
{
countFavFromServer( rent_item_ids );
count_rent_visited = counter_num;
deleteItemIdsStored( rentFavName, 'visited' );
storeItemIdsStored( rentFavName, 'visited' );
}
}
else
count_rent_visited = 0;
var rent_word = addWord + '租盤: %NUM% 則廣告 >';
rent_word = rent_word.replace("%NUM%", count_rent_visited );
$(".rent_visited_list").html( '<a href="https://www.squarefoot.com.hk/rent?myvisited=1&item_ids=' + rent_item_ids.join(',') + '">' + rent_word + '</a>');
storeFavVisitedResult( 'residential', 'visited', count_buy_visited, count_rent_visited );
buyFavName = buyFavName + '_office';
rentFavName = rentFavName + '_office'
var office_fav_result = loadFavVisitedResult( 'office', 'fav' );
if( office_fav_result.buy===false )
var count_buy = countFav( buyFavName, 'fav');
else
var count_buy = office_fav_result.buy;
if( office_fav_result.rent===false )
var count_rent = countFav( rentFavName, 'fav');
else
var count_rent = office_fav_result.rent;
var office_visited_result = loadFavVisitedResult( 'office', 'visited' );
if( office_visited_result.buy===false )
var count_buy_visited = countFav( buyFavName,'visited');
else
var count_buy_visited = office_visited_result.buy;
if( office_visited_result.rent===false )
var count_rent_visited = countFav( rentFavName, 'visited')
else
var count_rent_visited = office_visited_result.rent;
var addWord = '辦公室 ';
var buy_item_ids = getIdsFromFav( buyFavName, 'fav' );
if( buy_item_ids.length )
{
var buy_item_ids_stored = getItemIdsStored( buyFavName, 'fav' );
if( !compareArray( buy_item_ids, buy_item_ids_stored ) )
{
countFavFromServer( buy_item_ids );
count_buy = counter_num;
deleteItemIdsStored( buyFavName, 'fav' );
storeItemIdsStored( buyFavName, 'fav' );
}
if( count_buy )
{
var buy_word = addWord + '售盤: %NUM% 則廣告 >';
buy_word = buy_word.replace("%NUM%", count_buy );
$(".buy_fav_list_office").html( '<a href="https://www.squarefoot.com.hk/buy/office?myfav=1&item_ids=' + buy_item_ids.join(',') + '">' + buy_word + '</a>');
$(".buy_fav_list_office").show( );
}
else
$(".buy_fav_list_office").hide( );
}
else
{
$(".buy_fav_list_office").hide( );
count_buy = 0;
}
var rent_item_ids = getIdsFromFav( rentFavName, 'fav' );
if( rent_item_ids.length )
{
var rent_item_ids_stored = getItemIdsStored( rentFavName, 'fav' );
if( !compareArray( rent_item_ids, rent_item_ids_stored ) )
{
countFavFromServer( rent_item_ids );
count_rent = counter_num;
deleteItemIdsStored( rentFavName, 'fav' );
storeItemIdsStored( rentFavName, 'fav' );
}
if( count_rent )
{
var rent_word = addWord + '租盤: %NUM% 則廣告 >';
rent_word = rent_word.replace("%NUM%", count_rent );
$(".rent_fav_list_office").html( '<a href="https://www.squarefoot.com.hk/rent/office?myfav=1&item_ids=' + rent_item_ids.join(',') + '">' + rent_word + '</a>');
$(".rent_fav_list_office").show( );
}
else
$(".rent_fav_list_office").hide( );
}
else
{
$(".rent_fav_list_office").hide( );
count_rent = 0;
}
storeFavVisitedResult( 'office', 'fav', count_buy, count_rent );
var buy_item_ids = getIdsFromFav( buyFavName, 'visited' );
if( count_buy_visited > 0 )
{
var buy_item_ids_stored = getItemIdsStored( buyFavName, 'visited' );
if( !compareArray( buy_item_ids, buy_item_ids_stored ) )
{
countFavFromServer( buy_item_ids );
count_buy_visited = counter_num;
deleteItemIdsStored( buyFavName, 'visited' );
storeItemIdsStored( buyFavName, 'visited' );
}
if( count_buy_visited )
{
var buy_word = addWord + '售盤: %NUM% 則廣告 >';
buy_word = buy_word.replace("%NUM%", count_buy_visited );
$(".buy_visited_list_office").html( '<a href="https://www.squarefoot.com.hk/buy/office?myvisited=1&item_ids=' + buy_item_ids.join(',') + '">' + buy_word + '</a>');
$(".buy_visited_list_office").show();
}
else
$(".buy_visited_list_office").hide();
}
else
{
count_buy_visited = 0;
$(".buy_visited_list_office").hide();
}
var rent_item_ids = getIdsFromFav( rentFavName, 'visited' );
if( count_rent_visited )
{
var rent_item_ids_stored = getItemIdsStored( rentFavName, 'visited' );
if( !compareArray( rent_item_ids, rent_item_ids_stored ) )
{
countFavFromServer( rent_item_ids );
count_rent_visited = counter_num;
deleteItemIdsStored( rentFavName, 'visited' );
storeItemIdsStored( rentFavName, 'visited' );
}
if( count_rent_visited )
{
var rent_word = addWord + '租盤: %NUM% 則廣告 >';
rent_word = rent_word.replace("%NUM%", count_rent_visited );
$(".rent_visited_list_office").html( '<a href="https://www.squarefoot.com.hk/rent/office?myvisited=1&item_ids=' + rent_item_ids.join(',') + '">' + rent_word + '</a>');
$(".rent_visited_list_office").show( );
}
else
$(".rent_visited_list_office").hide( );
}
else
{
count_rent_visited = 0;
$(".rent_visited_list_office").hide( );
}
storeFavVisitedResult( 'office', 'visited', count_buy_visited, count_rent_visited );
}
function initFavListModal( )
{
$(".show_fav_list_btn").off().on('click',function(){
$(".fav_list_modal").modal({
duration:0,
onShow:function(){
loadAfterOpenFavListModal( );
}
}).modal('show');
});
}
''
function changeSearchBtnColor( )
{
var attr = $(".buyRent.active.item").attr('attr');
if( attr=='MenuBuy' )
var buyRent = 'buy';
else
var buyRent = 'rent';
var changeColor = false;
var locations = $(".property_form input[name=locations]").val( );
var buyRentSelected = $("input[name=price][attr=" + buyRent + "]").val( );
var mainType = $('.property_form input[name=mainType]').val( );
var roomRange = $('.property_form input[name=roomRange]').val( );
if( !( parseInt( locations )==0 || !locations ) )
changeColor = true;
if( !( parseInt( mainType )==0 || !mainType ) )
changeColor = true;
if( !( parseInt( buyRentSelected )==0 || !buyRentSelected ) )
changeColor = true;
if( !( parseInt( roomRange )==0 || !roomRange ) )
changeColor = true;
if( changeColor )
$('.searchBtn').addClass( 'red' );
else
$('.searchBtn').removeClass( 'red' );
}
function appDownloadModal(){
$(".appDownloadModal").modal({
duration: 0,
inverted: false,
}).modal('show');
}; </script>
<div class="homepage_search_sqfoot">
<div class="ui container search_content_body_sqfoot">
<div class="ui grid">
<div class="center aligned one column row">
<div class="column">
<div style="margin-top: 0px !important;"></div>
<div class="slogan">
5平方,尋找你的烏托邦
</div>
<div class="ui" style="margin-top: 130px !important;">
<div class="ui form">
<div class="ui secondary inverted menu">
<a class="active item buyRent" attr="MenuBuy">
買樓
</a>
<a class="item buyRent" attr="MenuRent">
租屋
</a>
</div>
<form class="property_form" action="https://www.squarefoot.com.hk/buy">
<input type="hidden" name="propertyDoSearchVersion" value="2.0" placeholder="Search...">
<div>
<div class="ui fluid action big input">
<input type="text" name="searchText" placeholder="e.g. 貝沙灣">
<div class="ui button searchBtn">搜尋</div>
</div>
</div>
<div class="ui less hidden divider"></div>
<div style="padding-left: 15px;">
<div class="inline fields">
<div class="field">
<div class="ui dropdown district_dropdown">
<input type="hidden" name="locations">
<div class="default text">地區</div>
<i class="dropdown icon"></i>
<div class="menu">
<div class="item" data-value="0">地區</div>
<div class="item" data-value="hk">香港島</div>
<div class="item" data-value="kw">九龍</div>
<div class="item" data-value="nt">新界</div>
<div class="item" data-value="islands">離島</div>
<div class="item" data-value="sch_pri">小學校網</div>
<div class="item" data-value="sch_sec">中學校網</div>
</div>
</div>
</div>
<span class="separation"></span>
<span class="separation"></span>
<div class="field district_group_field" style="display: none;" district="hk">
<div class="ui dropdown district_group_dropdown">
<input type="hidden" name="district_group_hk">
<div class="default text">地區</div>
<i class="dropdown icon"></i>
<div class="menu">
<div class="item" data-value="0">地區</div>
<div class="item" data-value="14">南區</div>
<div class="item" data-value="13">香港仔,鴨脷洲,黃竹坑</div>
<div class="item" data-value="12">柴灣,小西灣,石澳</div>
<div class="item" data-value="11">筲箕灣,杏花邨</div>
<div class="item" data-value="10">西灣河</div>
<div class="item" data-value="9">太古城</div>
<div class="item" data-value="8">鰂魚涌</div>
<div class="item" data-value="124">北角半山</div>
<div class="item" data-value="7">北角,炮台山</div>
<div class="item" data-value="6">天后,大坑</div>
<div class="item" data-value="5">銅鑼灣,跑馬地</div>
<div class="item" data-value="4">灣仔,金鐘</div>
<div class="item" data-value="3">中西半山</div>
<div class="item" data-value="2">中上環</div>
<div class="item" data-value="1">西營盤,石塘咀</div>
<div class="item" data-value="121">堅尼地城</div>
</div>
</div>
</div>
<div class="separation district_group_field" style="display: none;" district="hk"></div>
<div class="separation district_group_field" style="display: none;" district="hk"></div>
<div class="field district_group_field" style="display: none;" district="kw">
<div class="ui dropdown district_group_dropdown">
<input type="hidden" name="district_group_kw">
<div class="default text">地區</div>
<i class="dropdown icon"></i>
<div class="menu">
<div class="item" data-value="0">地區</div>
<div class="item" data-value="115">黃埔</div>
<div class="item" data-value="31">紅磡</div>
<div class="item" data-value="30">尖沙咀</div>
<div class="item" data-value="120">佐敦</div>
<div class="item" data-value="111">油麻地</div>
<div class="item" data-value="110">旺角</div>
<div class="item" data-value="29">太子</div>
<div class="item" data-value="28">大角咀,奧運,九龍站</div>
<div class="item" data-value="109">荔景</div>
<div class="item" data-value="107">美孚</div>
<div class="item" data-value="106">長沙灣</div>
<div class="item" data-value="27">荔枝角</div>
<div class="item" data-value="26">深水埗,石硤尾,南昌</div>
<div class="item" data-value="119">又一村</div>
<div class="item" data-value="118">何文田</div>
<div class="item" data-value="25">九龍塘</div>
<div class="item" data-value="32">新蒲崗,黃大仙</div>
<div class="item" data-value="108">啟德</div>
<div class="item" data-value="116">九龍城</div>
<div class="item" data-value="24">土瓜灣</div>
<div class="item" data-value="23">鑽石山,樂富</div>
<div class="item" data-value="122">牛池灣</div>
<div class="item" data-value="22">九龍灣</div>
<div class="item" data-value="21">觀塘,牛頭角</div>
<div class="item" data-value="123">油塘</div>
<div class="item" data-value="20">藍田</div>
</div>
</div>
</div>
<div class="separation district_group_field" style="display: none;" district="kw"></div>
<div class="separation district_group_field" style="display: none;" district="kw"></div>
<div class="field district_group_field" style="display: none;" district="nt">
<div class="ui dropdown district_group_dropdown">
<input type="hidden" name="district_group_nt">
<div class="default text">地區</div>
<i class="dropdown icon"></i>
<div class="menu">
<div class="item" data-value="0">地區</div>
<div class="item" data-value="127">沙頭角</div>
<div class="item" data-value="51">青衣</div>
<div class="item" data-value="50">葵涌,葵芳</div>
<div class="item" data-value="49">荃灣,大窩口</div>
<div class="item" data-value="114">深井(荃灣) </div>
<div class="item" data-value="52">屯門(青山公路)</div>
<div class="item" data-value="48">屯門</div>
<div class="item" data-value="113">天水圍</div>
<div class="item" data-value="47">元朗,洪水橋</div>
<div class="item" data-value="112">上水</div>
<div class="item" data-value="46">粉嶺</div>
<div class="item" data-value="45">大埔,太和,白石角</div>
<div class="item" data-value="44">沙田,大圍,火炭</div>
<div class="item" data-value="43">馬鞍山</div>
<div class="item" data-value="41">將軍澳區</div>
<div class="item" data-value="40">西貢,清水灣</div>
</div>
</div>
</div>
<div class="separation district_group_field" style="display: none;" district="nt"></div>
<div class="separation district_group_field" style="display: none;" district="nt"></div>
<div class="field district_group_field" style="display: none;" district="islands">
<div class="ui dropdown district_group_dropdown">
<input type="hidden" name="district_group_islands">
<div class="default text">地區</div>
<i class="dropdown icon"></i>
<div class="menu">
<div class="item" data-value="0">地區</div>
<div class="item" data-value="64">長洲,其他離島</div>
<div class="item" data-value="63">南丫島</div>
<div class="item" data-value="117">坪洲</div>
<div class="item" data-value="62">南大嶼山,大澳</div>
<div class="item" data-value="61">東涌</div>
<div class="item" data-value="125">愉景灣 </div>
<div class="item" data-value="60">馬灣</div>
</div>
</div>
</div>
<div class="separation district_group_field" style="display: none;" district="islands"></div>
<div class="separation district_group_field" style="display: none;" district="islands"></div>
<div class="field district_group_field" style="display: none;" district="sch_pri">
<div class="ui dropdown district_group_dropdown">
<input type="hidden" name="district_group_sch_pri">
<div class="default text">地區</div>
<i class="dropdown icon"></i>
<div class="menu">
<div class="item" data-value="0">地區</div>
<div class="item" data-value="sch_pri_root_1">香港島</div>
<div class="item" data-value="sch_pri_root_2">九龍</div>
<div class="item" data-value="sch_pri_root_3">新界</div>
<div class="item" data-value="sch_pri_root_170">離島</div>
</div>
</div>
</div>
<div class="separation district_group_field" style="display: none;" district="sch_pri"></div>
<div class="separation district_group_field" style="display: none;" district="sch_pri"></div>
<div class="field district_group_field" style="display: none;" district="sch_sec">
<div class="ui dropdown district_group_dropdown">
<input type="hidden" name="district_group_sch_sec">
<div class="default text">地區</div>
<i class="dropdown icon"></i>
<div class="menu">
<div class="item" data-value="0">地區</div>
<div class="item" data-value="sch_sec_root_1">香港島</div>
<div class="item" data-value="sch_sec_root_2">九龍</div>
<div class="item" data-value="sch_sec_root_3">新界</div>
<div class="item" data-value="sch_sec_root_170">離島</div>
</div>
</div>
</div>
<div class="separation district_group_field" style="display: none;" district="sch_sec"></div>
<div class="separation district_group_field" style="display: none;" district="sch_sec"></div>
<div class="field priceRanges">
<div class="ui dropdown">
<input type="hidden" name="price" attr="buy">
<div class="default text">售價</div>
<i class="dropdown icon"></i>
<div class="menu">
<div class="item" data-value="0">售價</div>
<div class="item" data-value="1">1000萬以下</div>
<div class="item" data-value="2">1000萬-2000萬</div>
<div class="item" data-value="3">2000萬-4000萬</div>
<div class="item" data-value="4">4000萬-7000萬</div>
<div class="item" data-value="5">7000萬-10000萬</div>
<div class="item" data-value="6">10000萬以上</div>
</div>
</div>
</div>
<div class="field rentRanges" style="display: none;">
<div class="ui dropdown">
<input type="hidden" name="price" attr="rent">
<div class="default text">租價</div>
<i class="dropdown icon"></i>
<div class="menu">
<div class="item" data-value="0">租價</div>
<div class="item" data-value="1">10000 元以下</div>
<div class="item" data-value="2">10000 元-20000 元</div>
<div class="item" data-value="3">20000 元-40000 元</div>
<div class="item" data-value="4">40000 元-60000 元</div>
<div class="item" data-value="5">60000 元-80000 元</div>
<div class="item" data-value="6">80000 元以上</div>
</div>
</div>
</div>
<span class="separation"></span>
<span class="separation"></span>
<div class="field">
<div class="ui dropdown mainTypeDropdown">
<input type="hidden" name="mainType">
<div class="default text">樓盤類別</div>
<i class="dropdown icon"></i>
<div class="menu">
<div class="item" data-value="0">樓盤類別</div>
<div class="item" data-value="5">住宅</div>
<div class="item" data-value="6">車位</div>
<div class="item" data-value="8">店舖</div>
</div>
</div>
</div>
<span class="separation"></span>
<span class="separation"></span>
<div class="field">
<div class="ui dropdown roomRange">
<input type="hidden" name="roomRange">
<div class="default text">房間數量 </div>
<i class="dropdown icon"></i>
<div class="menu">
<div class="item" data-value="0">房間數量</div>
<div class="item" data-value="STUDIO">開放式間隔</div>
<div class="item" data-value="1">1房</div>
<div class="item" data-value="2">2房</div>
<div class="item" data-value="3">3房</div>
<div class="item" data-value="4">4房</div>
<div class="item" data-value="5PLUS">5房 以上</div>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="ui content_body_outer">
<div class="ui container content_body">
<h3 class="ui header">精選樓盤</h3>
<div class="ui section divider"></div>
<h3 class="ui header">熱門成交屋苑</h3>
</div>
</div>
<script type="application/javascript">
var mortgage_history_name = 'mortgage_options' + '_sqfoot'
$(document).ready(function(){
});
function readMortgageSaveOptions( )
{
var history = readhistory( 'mortgage', mortgage_history_name );
if( history!=null )
return history[0].val;
else
return '';
}
function mortgageReplaceWithPrice( form_data, price )
{
var regular_exp = /mortgage_price=\d+/i;
var matches = form_data.match( regular_exp );
if( matches[0] )
return form_data.replace( matches[0], 'mortgage_price=' + price );
else
{
if( form_data )
return form_data + '&mortgage_price=' + price;
else
return 'mortgage_price=' + price;
}
}
function mortgage_cancel_header_replace( )
{
var form_data_replace = readMortgageSaveOptions( );
if( form_data_replace!='' && form_data_replace.used==true )
return;
var original_mortgage_url = 'https://www.squarefoot.com.hk/mortgage/';
var replace_form_data_url = 'https://www.squarefoot.com.hk/mortgage/' + "?" + form_data_replace.form_data;
if( '0'=='1' )
{
if( $(".ui.sidebar.vertical.menu.msidebar .item[href='" + original_mortgage_url + "']").length >= 1 )
return;
else
$(".ui.sidebar.vertical.menu.msidebar .item[href^='" + original_mortgage_url + "']").attr('href', original_mortgage_url );
}
if( "1"=="1" )
{
if( parseInt( $(".homepage_other_icons a[href='" + original_mortgage_url + "']").length ) >= 1 )
return;
else
$(".homepage_other_icons a[href^='" + original_mortgage_url + "']").attr('href', original_mortgage_url );
if( $(".menu.hearder_menu a[href='" + original_mortgage_url + "']").length >= 1 )
return;
else
$(".menu.hearder_menu a[href^='" + original_mortgage_url + "']").attr('href', original_mortgage_url );
}
else
{
if( "0"=="1" )
{
if( '按揭計算機'!='' && $('a[title=按揭計算機]').length==1 )
$('a[title=按揭計算機]').attr('href', original_mortgage_url );
}
else
{
if( $(".ui.header_body.container .item[href^='" + original_mortgage_url + "']").length >= 1 )
return;
else
$(".ui.header_body.container .item[href^='" + original_mortgage_url + "']").attr( 'href', original_mortgage_url );
}
}
}
function mortgage_header_replace( )
{
var form_data_replace = readMortgageSaveOptions( );
if( form_data_replace=='' )
return;
if( form_data_replace.used==false )
return;
var original_mortgage_url = 'https://www.squarefoot.com.hk/mortgage/';
var replace_form_data_url = 'https://www.squarefoot.com.hk/mortgage/' + "?" + form_data_replace.form_data;
if( '0'=='1' )
{
if( $(".ui.sidebar.vertical.menu.msidebar .item[href^='" + original_mortgage_url + "']").length==1 )
$(".ui.sidebar.vertical.menu.msidebar .item[href^='" + original_mortgage_url + "']").attr( 'href', replace_form_data_url );
}
if( $(".mortgageLeftMenu a[href^='" + original_mortgage_url + "']").length >= 1 )
$(".mortgageLeftMenu a[href^='" + original_mortgage_url + "']:first").attr('href', replace_form_data_url );
if( "1"=="1" )
{
if( parseInt( $(".homepage_other_icons a[href^='" + original_mortgage_url + "']").length ) >= 1 )
$(".homepage_other_icons a[href^='" + original_mortgage_url + "']").attr('href', replace_form_data_url );
if( $(".menu.hearder_menu a[href^='" + original_mortgage_url + "']").length >= 1 )
$(".menu.hearder_menu a[href^='" + original_mortgage_url + "']").attr('href', replace_form_data_url );
}
else
{
if( "0"=="1" )
{
if( '按揭計算機'!='' && $('a[title=按揭計算機]').length==1 )
$('a[title=按揭計算機]').attr('href', replace_form_data_url );
}
else
{
if( $(".ui.header_body.container .item[href^='" + original_mortgage_url + "']").length==1 )
$(".ui.header_body.container .item[href^='" + original_mortgage_url + "']").attr( 'href', replace_form_data_url );
}
}
}
function mortgageReplaceWithResidentialOrCommercial( form_data, residential_or_commercial )
{
if( residential_or_commercial=='commercial' )
{
if( form_data.indexOf( 'mortgage_property_type=commercial' )!=-1 )
{
//nothing to do
return form_data;
}
else
{
if( form_data.indexOf( 'mortgage_property_type=residential' )!=-1 )
return form_data.replace( "mortgage_property_type=residential", "mortgage_property_type=commercial" );
else
return form_data + '&mortgage_property_type=commercial';
}
}
else
{
if( form_data.indexOf( 'mortgage_property_type=residential' )!=-1 )
{
//nothing to do
return form_data;
}
else
{
if( form_data.indexOf( 'mortgage_property_type=commercial' )!=-1 )
return form_data.replace( "mortgage_property_type=commercial", "mortgage_property_type=residential" );
else
return form_data;
}
}
}
</script><div class="footer" align="center">
<div class="ui basic grey inverted segment" style="background-color: var(--sqfoot-dark-bg-color) !important;">
<div class="footer_body">
<div class="ui grid container">
<div class="sixteen column row">
<div class="left floated five wide column" align="left">
<a href='https://facebook.com/squarefoot.com.hk' target="_blank">
<button class="ui circular facebook icon button">
<i class="facebook icon"></i>
</button>
</a>
<a href='https://www.instagram.com/squarefoot.com.hk/' target="_blank">
<button class="ui circular instagram icon button">
<i class="instagram icon"></i>
</button>
</a>
<a href='https://www.youtube.com/channel/UC_KbWzdWZ6sqpwmyejjxgZQ' target="_blank">
<button class="ui circular youtube icon button">
<i class="youtube icon"></i>
</button>
</a>
</div>
<div class="right floated eleven wide column" align="right">
<div class="ui inverted secondary menu" style="">
<div class="right menu" style="margin-right: 10px !important;">
<a class="item" href="https://www.squarefoot.com.hk/buy">買樓</a>
<a class="item" href="https://www.squarefoot.com.hk/rent">租屋</a>
<a class="item contactusBtn" href="#">聯絡我們</a>
<a class="item termsBtn" href="#">服務條款</a>
<a class="item privacyBtn" href="#"> 私隱政策</a>
<a class="item" href="https://www.28hse.com.hk">28Hse</a>
</div>
</div>
</div>
</div>
<div class="sixteen column row">
<div class="sixteen wide column" align="left">
<div class="">
<a href="https://play.google.com/store/apps/details?id=hk.com.squarefoot.app" target="_blank">
<button class="ui grey labeled icon button">
<i class="google play icon"></i>
Android
</button>
</a>
<span class="separation"></span>
<a href="https://apps.apple.com/app/id1599251306" target="_blank">
<button class="ui grey labeled icon button">
<i class="apple icon"></i>
iPhone
</button>
</a>
</div>
</div>
</div>
<div class="sixteen column row">
<div class="sixteen wide column" align="left">
@ Copyright 2025 Squarefoot.com.hk [28Hse Ltd] All rights reserved.
</div>
</div>
</div>
<div class="ui hidden divider"></div>
</div>
</div>
</div>
<div class="ui mini modal" id="alert_div">
<div class="content">
<p class="words"></p>
</div>
<div class="actions normal">
<div class="ui cancel button"><span class="btnCancelName">確定</span></div>
</div>
<div class="actions wconfirm" style="display: none">
<div class="ui cancel button"><span class="btnCancelName">取消</span></div>
<div class="ui ok red button"><span class="btnOKName">確定</span></div>
</div>
</div>
<script type="application/javascript">
var okBtnOrgName = '確定';
var cancelBtnOrgName = '取消';
$(document).ready(function(){
});
function setAlertBoxOKBtnName( name )
{
$(".btnOKName").html( name );
}
function setAlertBoxCancelBtnName( name )
{
$(".btnCancelName").html( name );
}
function restoreBtnName( )
{
$(".btnOKName").html( okBtnOrgName );
$(".btnCancelName").html( cancelBtnOrgName );
}
</script>
<div class="ui small modal" id="msg_form">
<div class="header" id="msg_title_words"></div>
<div class="content">
<div class="extra_contact_content_outer" style="display: none;">
<div class="extra_contact_content">
</div>
<div class="ui horizontal divider">
或
</div>
</div>
<div class="ui form">
<form id="input_message_form">
<input type="hidden" name="adid" value="">
<input type="hidden" name="application" value="">
<script type="application/javascript">
var success_token_msg_form = '';
var widgetId_msg_form = '';
var widgetId_backup_msg_form = '';
window.msg_form_ready = msg_form_turnstile_onload;
window.msg_form_ready_backup = msg_form_turnstile_onload_backup;
var retry_times_msg_form = 0;
var retry_max_times_msg_form = 0;
var backup_site_key_msg_form = '0x4AAAAAAAcYbSXJBofI3fn-';
$( document ).ready(function(){
});
function msg_form_turnstile_onload_backup( )
{
$("#cloudflare_turnstile_container").html('');
retry_times_msg_form = 0;
widgetId_backup_msg_form = turnstile.render('#cloudflare_turnstile_container', {
sitekey: '0x4AAAAAAAcYbSXJBofI3fn-',
size: 'normal',
language: 'zh-tw',
callback: function(token) {
try {
success_when_done_turnstile_msg_form(token);
}
catch( e )
{
__alert( "Please specified success_when_done_turnstile_msg_form(token) function if you use turnstile.");
}
success_token_msg_form = token;
},
'error-callback':function(){
if( retry_times_msg_form < retry_max_times_msg_form )
{
retry_times_msg_form++;
turnstile.reset( widgetId_backup_msg_form );
}
else
{
$("#cloudflare_turnstile_container").html('');
try {
failed_when_done_turnstile_msg_form(token);
}catch( e )
{
__alert( "暫時未能載入 Cloudflare Turnstile, 請稍後再試。" );
}
}
},
'expired-callback':function(){
turnstile.reset( widgetId_backup_msg_form );
}
});
}
function msg_form_turnstile_onload( )
{
$.getScript("https://challenges.cloudflare.com/turnstile/v0/api.js?onload=msg_form_turnstile_onload_2", function(data, textStatus, jqxhr) {
//console.log(data); // data returned
//console.log(textStatus); // success
//console.log(jqxhr.status); // 200
//console.log('Load was performed.');
});
}
function msg_form_turnstile_onload_2( )
{
$("#cloudflare_turnstile_container").html('');
widgetId_msg_form = turnstile.render('#cloudflare_turnstile_container', {
sitekey: '0x4AAAAAAAQjKyCnKfbJ_fze',
size: 'normal',
language: 'zh-tw',
callback: function(token) {
try {
success_when_done_turnstile_msg_form(token);
}
catch( e )
{
__alert( "Please specified success_when_done_turnstile_msg_form(token) function if you use turnstile.");
}
success_token_msg_form = token;
},
'error-callback':function(){
if( retry_times_msg_form < retry_max_times_msg_form )
{
retry_times_msg_form++;
turnstile.reset( widgetId_msg_form );
}
else
{
$("#cloudflare_turnstile_container").html('');
if( backup_site_key_msg_form )
{
$.getScript("https://challenges.cloudflare.com/turnstile/v0/api.js?onload=msg_form_ready_backup", function(data, textStatus, jqxhr) {
//console.log(data); // data returned
//console.log(textStatus); // success
//console.log(jqxhr.status); // 200
//console.log('Load was performed.');
});
}
else
{
try {
failed_when_done_turnstile_msg_form(token);
}catch( e )
{
__alert( "暫時未能載入 Cloudflare Turnstile, 請稍後再試。" );
}
}
}
},
'expired-callback':function(){
turnstile.reset( widgetId_msg_form );
}
});
}
</script>
<div id="cloudflare_turnstile_container"></div>
<div class="field">
<label>內容</label>
<textarea rows="3" name="message" placeholder="內容"></textarea>
</div>
<div class="two fields">
<div class="field">
<label>姓名</label>
<input type="text" name="name" placeholder="姓名" maxlength="30" minlength="2">
</div>
<div class="field">
<label>聯絡電郵</label>
<input type="text" name="email" placeholder="聯絡電郵">
</div>
</div>
<div class="two fields">
<div class="field">
<label>聯絡電話</label> <input type="text" name="phone" placeholder="聯絡電話">
</div>
<div class="field checkboxfield">
<label> </label>
<div class="ui checkbox msg_form_whatsapp_checkbox"><input type="checkbox" name="whatsapp"><label><i class="ui whatsapp large icon"></i>Whatsapp</label>
</div>
</div>
</div>
</form>
</div>
<div class="ui negative message error_msg_box" style="display: none;">
</div>
</div>
<div class="actions msg_wconfirm">
<div class="ui reset button">重設</div>
<span class="separation">|</span>
<div class="ui cancel button">取消</div>
<div class="ui ok red disabled button">發送</div>
</div>
</div>
<script type="text/javascript">
''
$(document).ready(function() {
$('.msg_form_whatsapp_checkbox').checkbox();
});
function success_when_done_turnstile_msg_form( token )
{
//console.log( "Success CF");
$(".error_msg_box").html('').hide();
$(".msg_wconfirm .ok.red.button").removeClass('disabled');
}
function failed_when_done_turnstile_msg_form( token )
{
//console.log( "Failed CF");
$(".error_msg_box").html('驗證錯誤,請刷新頁面再重試。( Contact Form )').show();
$(".msg_wconfirm .ok.red.button").addClass('disabled');
}
function msg_form_show( obj ){
msg_form_turnstile_onload();
$('.error_msg_box').hide();
if( obj.title.length < 1 || obj.id.length < 1 || obj.application.length < 1 || obj.dest_url.length < 1 || obj.action.length < 1 || obj.complete_ok_text.length < 1 )
{
__alert('表單有問題');
return;
}
refresh_captcha_img();
$(".extra_contact_content_outer").hide();
var move_contact_div = obj.move_contact_div;
if(move_contact_div && move_contact_div.length >= 1 && $("."+move_contact_div).length >= 1)
{
$(".extra_contact_content").html('');
$("."+move_contact_div).clone(true,true).appendTo(".extra_contact_content");
//$(".extra_contact_content").html($("."+move_contact_div));
//$("#"+move_contact_div).appendTo(".extra_contact_content");
$(".extra_contact_content_outer ."+move_contact_div).show();
$(".extra_contact_content_outer").show();
}
if(obj.resetbtnHide == true)
{
$(".msg_wconfirm .reset.button").hide();
$(".msg_wconfirm .separation").hide();
}
$("#msg_title_words").html(obj.title);
if(obj.message && obj.message.length > 1)
{
$("textarea[name=message]").val(obj.message);
}
else
{
$("textarea[name=message]").val('');
}
var previous_msg_arr = readhistory('msg_form_submit','form');
if(previous_msg_arr && previous_msg_arr[0] && previous_msg_arr[0].val)
{
var previous_msg = previous_msg_arr[0].val;
var previous_msg_obj = JSON.parse(previous_msg);
let email = previous_msg_obj.email;
let name = previous_msg_obj.name;
let phone = previous_msg_obj.phone;
let whatsapp = previous_msg_obj.whatsapp;
if(email && email.length >= 1)
$("#input_message_form input[name=email]").val(email);
if(name && name.length >= 1)
$("#input_message_form input[name=name]").val(name);
if(phone && phone.length >= 1)
$("#input_message_form input[name=phone]").val(phone);
if(whatsapp && whatsapp == 'on')
$("#input_message_form .msg_form_whatsapp_checkbox").checkbox('set checked');
}
$(".msg_wconfirm .reset").click(function(event){
event.preventDefault();
deletehistory('msg_form_submit','form');
$('#input_message_form')[0].reset();
});
$('#msg_form').modal({
duration : 0,
closable : true,
onDeny : function(){
return true;
},
onApprove : function() {
var msg = $("textarea[name=message]").val();
var name = $("input[name=name]").val();
var phone = $("input[name=phone]").val();
var email = $("input[name=email]").val();
if(msg.length <= 2 || name.length <= 2 || (phone.length <= 2 && email.length <= 2) )
{
var error_msg = '';
if( msg.length <= 2 )
error_msg = error_msg + '內容必須輸入最少3個字。,';
if( name.length <= 2 )
error_msg = error_msg + '姓名必須輸入最少3個字。,';
if( phone.length <= 2 && email.length <= 2 )
error_msg = error_msg + '電郵或電話(擇一)必須輸入最少3個字。,';
//__alert('錯誤');
//$('.error_msg_box').html('錯誤');
$('.error_msg_box').html( error_msg );
$('.error_msg_box').show();
return false;
}
else
{
msg_form_submit(obj);
}
return false;
}
})
.modal('show');
}
function msg_form_submit(obj)
{
$("input[name=adid]").val(obj.id);
$("input[name=application]").val(obj.application);
var form_msg = $("#input_message_form").serialize();
var form_msg_store = $("#input_message_form").serializeControls();
let form_msg_serialiazed = JSON.stringify(form_msg_store);
deletehistory('msg_form_submit','form');
storehistory('msg_form_submit','form','form_msg', form_msg_serialiazed);
//if user has login. update the fav info.
var request = $.ajax({
url: obj.dest_url,
type: "POST",
data: {action: obj.action, form_data: form_msg},
dataType: "json"
});
request.done(function(msg_arr) {
var status = msg_arr["status"]; //1 OK,
var result = msg_arr["result"]; //1 set OK, 2 have problem.
var error_code = msg_arr["error_code"];
var error_msg = msg_arr["error_msg"];
var result_error_code = msg_arr["result_error_code"];
var result_error_msg = msg_arr["result_error_msg"];
var debugs = msg_arr["debug"];
if(result != 1)
{
$('.error_msg_box').html('錯誤:' + result_error_msg);
$('.error_msg_box').show();
//failed_when_done_turnstile_msg_form();
if( retry_times_msg_form < retry_max_times_msg_form )
{
retry_times_msg_form++;
msg_form_turnstile_onload();
}
else
failed_when_done_turnstile_msg_form();
}
else {
if (!__alert_custom_error(msg_arr)) {
__alert(obj.complete_ok_text);
if( need_to_trigger_fav_btn() )
enable_fav_btn_only( );
$("#input_message_form")[0].reset();
if( !$(".msg_wconfirm .ok.red.button").hasClass('click_already') )
{
gtag( 'event', 'property_contact_comment_form', { ad_id: '', buyrent: '', district: '', main_type: '' } );
$(".msg_wconfirm .ok.red.button").addClass('click_already');
}
}
}
});
}
''</script>
<div class="ui basic modal languageModal">
<div class="content">
<div class="ui center aligned grid"><div class="sixteen wide width">
<div class="ui vertical buttons langBtn">
<button attr="tc" class="ui button active"><a href="https://www.squarefoot.com.hk" attr="squarefoot">繁體中文</a></button>
<button attr="cn" class="ui button "><a href="https://www.squarefoot.com.hk/cn/" attr="squarefoot">簡體中文</a></button>
<button attr="en" class="ui button "><a href="https://www.squarefoot.com.hk/en/" attr="squarefoot">English</a></button>
<button attr="default" class="ui button"><a href="https://www.squarefoot.com.hk">預設</a></button>
</div>
</div></div>
</div>
</div>
<div class="ui modal priceTableModal">
<i class="close icon"></i>
<div class="header">收費標準</div>
<div class="content">
<table class="ui table unstackable"><thead><tr><th>放盤分類</th><th>費用</th><th>廣告有效期</th></tr></thead><tbody><tr class="active" style="text-align: center; vertical-align: middle;"><td colspan="3"><b>售盤</b></td></tr><tr><td><div>普通樓盤<br/><span class="less_span">一般放盤</span></div></td><td>港幣:1000<br/><span class="less_span">(或使用 屋幣:1000)</span></td><td>有效:90日</td></tr><tr><td><div>黃金置頂盤<br/><span class="less_span">比置頂盤優先排序<br/><div class="ui red label">曝光增加兩倍至三倍</div></span></div></td><td>港幣:3000<br/><span class="less_span">(或使用 屋幣:3000)</span></td><td>有效:60日</td></tr><tr class="active" style="text-align: center; vertical-align: middle;"><td colspan="3"><b>租盤</b></td></tr><tr><td><div>普通樓盤<br/><span class="less_span">一般放盤</span></div></td><td>港幣:1000<br/><span class="less_span">(或使用 屋幣:1000)</span></td><td>有效:80日</td></tr><tr><td><div>黃金置頂盤<br/><span class="less_span">比置頂盤優先排序<br/><div class="ui red label">曝光增加兩倍至三倍</div></span></div></td><td>港幣:3000<br/><span class="less_span">(或使用 屋幣:3000)</span></td><td>有效:60日</td></tr></tbody></table><div class="ui hidden divider"></div><div class="ui negative message"><p>我們另有年費地產代理套餐,歡迎 致電:31523345 / Whatsapp:46117935 或 電郵至 <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b4c7c5c1d5c6d1d2dbdbc0dcdff4c7c5c1d5c6d1d2dbdbc09ad7dbd99adcdf">[email protected]</a> 查詢</p><br><div><p><b>如有問題請使用下面的方法聯系我們</b></p><p>Tel: <a href="tel: +852-31523345" target="_blank">852-31523345</a><br/>Whatsapp: <a href="https://wa.me/85246117935?text=Squarefoot" target="_blank">852-46117935</a><br/>Email: <a href="/cdn-cgi/l/email-protection#61121014001304070e0e15090a21121014001304070e0e154f020e0c4f090a" target="_blank"><span class="__cf_email__" data-cfemail="cebdbfbbafbcaba8a1a1baa6a58ebdbfbbafbcaba8a1a1bae0ada1a3e0a6a5">[email protected]</span></a><br/></p></div></div><div class="ui message"><div class="header">備註:</div><div class="ui ordered list"><div class="item">成功放盤後,樓盤會同時出現在 squarefoot.com.hk 網站, Android App 及 iPhone App,資料會同步處理。 </div><div class="item">每個放盤只能指定為售盤或租盤,如要同時作售盤及租盤,則要使用兩個放盤。 </div><div class="item">本網站的售盤及租盤的收費相同。 </div><div class="item"> *即走盤必需要和(普通樓盤/黃金置頂盤)同時使用。 </div><div class="item">放盤人可選擇港幣或屋幣付款,屋幣是在 Squarefoot 用港幣預先購買的積分,方便放盤人發放多個放盤。請查看下面的購買屋幣表。 </div><div class="item">把現有的放盤續期收費相同。 </div><div class="item">以上價格只適用於本地二手之樓盤,不能放海外樓盤。另外,如該放盤有違犯我們的放盤守則,我們有機會把有關費用作出調整。 </div></div></div><div class="ui divider"></div>
</div>
<div class="actions">
<div class="ui cancel button">取消</div>
</div>
</div>
<div class="ui mini modal open_office_selector">
<div class="content">
<div class="ui grid">
<div class="center aligned sixteen wide column">
<a class="ui button data_link" data-link="https://www.squarefoot.com.hk/buy/office">辦公室 買賣</a>  
<a class="ui button data_link" data-link="https://www.squarefoot.com.hk/rent/office">辦公室 租務</a>
</div>
</div>
</div>
</div>
<div class="ui mini modal open_carpark_selector">
<div class="content">
<div class="ui grid">
<div class="center aligned sixteen wide column">
<a class="ui button data_link" data-link="https://www.squarefoot.com.hk/buy/carpark">車位 買賣</a>  
<a class="ui button data_link" data-link="https://www.squarefoot.com.hk/rent/carpark">車位 租務</a>
</div>
</div>
</div>
</div>
<div class="ui mini modal open_shop_selector">
<div class="content">
<div class="ui grid">
<div class="center aligned sixteen wide column">
<a class="ui button data_link" data-link="https://www.squarefoot.com.hk/buy/shop">店舖 買賣</a>  
<a class="ui button data_link" data-link="https://www.squarefoot.com.hk/rent/shop">店舖 租務</a>
</div>
</div>
</div>
</div>
<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script type="application/javascript">
$(document).ready(function(){
});
function openSelectHeaderModal( $menu )
{
if( $menu=='office' )
{
$(".open_office_selector").modal({
duration:0
}).modal('show');
}
else if( $menu=='carpark' )
{
$(".open_carpark_selector").modal({
duration:0
}).modal('show');
}
else if( $menu=='shop' )
{
$(".open_shop_selector").modal({
duration:0
}).modal('show');
}
}
function openCarparkSelectHeaderModal( )
{
$(".open_carpark_selector").modal({
duration:0
}).modal('show');
}
function openShopSelectHeaderModal( )
{
$(".open_shop_selector").modal({
duration:0
}).modal('show');
}
</script></html>