如何使用Chrome扩展从亚马逊页面访问数据并替换为转换后的值



所以我想做的是从amazon.ca获得CAD并将其转换为INR。现在,我已经了解了如何使用localhost上的虚拟页面从amazon.ca获取数据并应用转换后的值,但问题是,IDK如何应用它,以便它开始转换和替换来自amazon.ca而不是localhost的数据。以下是我迄今为止所做的事情。

content.js

async function exchangeCurrency() {
// Fetchs INR and puts in curVal
var url = "https://cdn.jsdelivr.net/gh/fawazahmed0/currency-api@1/latest/currencies/cad.json"
let obj = await(await fetch(url)).json()
var curVal = obj.cad["inr"]

// Gets CAD Dollar and Cents
var cadPriceWhole = document.getElementsByClassName("a-price-whole")
var cadPriceFraction = document.getElementsByClassName("a-price-fraction")
for(var i = 0; i<cadPriceWhole.length; i++){
var wCAD = parseInt(cadPriceWhole[i].innerHTML.replace(/[^0-9]/g,''))
var fCAD = parseInt(cadPriceFraction[i].innerHTML.replace(/[^0-9]/g,''))
var inr = parseInt((wCAD + (fCAD/100)) * curVal)
cadPriceFraction[i].innerHTML = ""
cadPriceWhole[i].innerHTML = cadPriceWhole[i].innerHTML + " - " + inr.toLocaleString()
}
}
window.addEventListener('load', function () {
console.log("Poopz Here")
exchangeCurrency()
});

manifest.json

{
"name": "Amzn CAD-INR",
"version": "1.0.0",
"description": "Convert CAD to INR in Amazon",
"manifest_version": 3,
"author": "AZZIOI"
}

伪页

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<span class="a-price-whole">1,279<span class="a-price-decimal">.</span></span>
<span class="a-price-whole">879<span class="a-price-decimal">.</span></span>
<span class="a-price-whole">989<span class="a-price-decimal">.</span></span>

<span class="a-price-fraction">78</span>
<span class="a-price-fraction">45</span>
<span class="a-price-fraction">69</span>

</body>
<script src="content.js"></script>
</html>

请使用content_scripts。
例如:

manifest.json

{
"name": "hoge",
"version": "1.0",
"manifest_version": 3,
"content_scripts": [
{
"matches": [
"https://www.amazon.ca/*"
],
"js": [
"matches.js"
]
}
]
}}

matches.js

Write your script here.

最新更新