PropertyguruAssist

one button click -> simplify propertyguru listing info for easily copy / paste

当前为 2025-03-05 提交的版本,查看 最新版本

// ==UserScript==
// @name         PropertyguruAssist
// @namespace    http://tampermonkey.net/
// @version      0.7
// @description  one button click -> simplify propertyguru listing info for easily copy / paste
// @author       EnginePlus
// @match        https://*.propertyguru.com.sg/listing/*
// @grant        none
// @resource     customCSS https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css
// @require      https://gf.qytechs.cn/scripts/27254-clipboard-js/code/clipboardjs.js?version=174357
// @require      https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.slim.min.js
// ==/UserScript==

(function() {
    'use strict';
  // 根据item下label获取对应value值
  function getValueByLabel(items, label) { return (items.find(item => item.label === label) || {}).value || "N.A."; }

  // 获取JSON数据内容
  var url         = window.location.href;
  var jsonData    = JSON.parse(document.getElementById('__NEXT_DATA__').textContent);
  var propetyName = jsonData.props.pageProps.pageData.data.listingData.localizedTitle;
  var propetyType = getValueByLabel(jsonData.props.pageProps.pageData.data.detailsData.metatable.items,"Property Type");
  var floorSize   = getValueByLabel(jsonData.props.pageProps.pageData.data.detailsData.metatable.items,"Floor Size");
  var tenureType  = getValueByLabel(jsonData.props.pageProps.pageData.data.detailsData.metatable.items,"Tenure");
  var listDate 	  = getValueByLabel(jsonData.props.pageProps.pageData.data.detailsData.metatable.items,"Listed On");
  var listID 	  = getValueByLabel(jsonData.props.pageProps.pageData.data.detailsData.metatable.items,"Listing ID");
  var floorLevel  = getValueByLabel(jsonData.props.pageProps.pageData.data.detailsData.metatable.items,"Floor Level");
  var topYear     = getValueByLabel(jsonData.props.pageProps.pageData.data.detailsData.metatable.items,"TOP");
  var totalUnits  = getValueByLabel(jsonData.props.pageProps.pageData.data.detailsData.metatable.items,"Total Units");


  var bedNum 		= jsonData.props.pageProps.pageData.data.propertyOverviewData.propertyInfo.amenities[0].text;
  var bathNum 	= jsonData.props.pageProps.pageData.data.propertyOverviewData.propertyInfo.amenities[1].text;
  var price 	= jsonData.props.pageProps.pageData.data.propertyOverviewData.propertyInfo.price.amount;
  //var floorSize 	= jsonData.props.pageProps.pageData.data.propertyOverviewData.propertyInfo.amenities[2].text;

  var agentName	= jsonData.props.pageProps.pageData.data.contactAgentData.contactAgentCard.agentInfoProps.agent.name;
  var phoneNumber = jsonData.props.pageProps.pageData.data.contactAgentData.contactAgentCard.contactActions[1].phoneNumber;
  var cleanPhoneNumber = phoneNumber.replace(/\D/g, ''); // 只保留数字
  var clipboardText = url + '	'
                        + propetyName + ' [' + tenureType + ' / ' + topYear + ' / ' + totalUnits + '] '
                        + ', ' + bedNum + ', ' + bathNum + ', ' + floorSize + ', ' + price + '	'
                        + agentName + ' ' + phoneNumber
//alert(clipboardText);
$(document).ready(function() {
    // 创建复制按钮
    var copyButton = $('<button>', {
        text: "点我复制 url / listing info / agent + phone",
        style: "margin-left:5px;font-size:16px;background-color: #eeeee4",
        class: "btn"
    }).attr("data-clipboard-text", clipboardText);

    // 创建 WhatsApp 询问按钮
    var sendText = 'Hi+' + agentName.replace(/ /g, '+') + '+I+am+interested+in+your+listing+' + url;
    var newDiv = $('<a>', {
        href: "https://wa.me/" + cleanPhoneNumber + "?text=" + sendText,
        target: "_blank",
        style: "margin-left:10px;"
    }).append($('<img>', { src: "https://ibit.ly/iTu8B" }));

    // 将按钮插入 DOM
    $("h1").append(copyButton).append(newDiv);

    // 确保 Clipboard.js 绑定成功
    setTimeout(() => {
        new Clipboard('.btn');
    }, 500);
});

})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址