em.addCustomFields not working

I used the scaffold template to make a translator, but when I added the custom attribute, it didn't take effect. Anyone know why?

like this

```em.addCustomFields({
'twitter:description': 'abstractNote',
'twitter:site':'extra'
});```


all code
```
async function detectWeb(doc, url) {
// TODO: adjust the logic here
if (url.includes('/mp.weixin.qq.com/')) {
return 'newspaperArticle';
}
else if (getSearchResults(doc, true)) {
return 'multiple';
}
return false;
}

function getSearchResults(doc, checkOnly) {
var items = {};
var found = false;
// TODO: adjust the CSS selector
var rows = doc.querySelectorAll('h2 > a.title[href*="/article/"]');
for (let row of rows) {
// TODO: check and maybe adjust
let href = row.href;
// TODO: check and maybe adjust
let title = ZU.trimInternal(row.textContent);
if (!href || !title) continue;
if (checkOnly) return true;
found = true;
items[href] = title;
}
return found ? items : false;
}

async function doWeb(doc, url) {
if (await detectWeb(doc, url) == 'multiple') {
let items = await Zotero.selectItems(getSearchResults(doc, false));
if (items) {
await Promise.all(
Object.keys(items)
.map(url => requestDocument(url).then(scrape))
);
}
}
else {
await scrape(doc, url);
}
}


async function scrape(doc, url = doc.location.href) {
let translator = Zotero.loadTranslator('web');
// Embedded Metadata
translator.setTranslator('951c027d-74ac-47d4-a107-9c3069ab7b48');
translator.setDocument(doc);

translator.setHandler('itemDone', (_obj, item) => {
// TODO adjust if needed:
item.section = 'News';
item.complete();
});

let em = await translator.getTranslatorObject();
em.itemType = 'book';
// TODO map additional meta tags here, or delete completely
em.addCustomFields({
'twitter:description': 'abstractNote',
'twitter:site':'extra'
});
await em.doWeb(doc, url);
}

```
test Url:https://mp.weixin.qq.com/s/eUu1ACWQLnLyqMN_7C-qnA
Sign In or Register to comment.