XY Wong
unread,Mar 30, 2022, 11:49:28 PM3/30/22Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to zotero-dev
Hi, I'm the developer of the PDF Translate add-on.
Some add-on users report an error of right sidebar loading failure. I found it's caused by a strange behavior of js script. Here are two functions of my add-on:
getReader: function () {
return Zotero.Reader.getByTabID(Zotero_Tabs.selectedID);
},
getReaderID: function () {
for (let i = 0; i < Zotero.Reader._readers.length; i++) {
if (Zotero.Reader._readers[i].tabID === Zotero_Tabs.selectedID) {
return i;
}
}
},
They work fine, while in very accident case they behave strange. Some tests in the Run JavaScript Window when these behavior happens:
1. call getReader. the function definition is shown correctly.
2. call getReader(). return undefined(should return a reader object)
3. call Zotero.Reader.getByTabID(Zotero_Tabs.selectedID). return an valid reader object.
4. getReader = function(){return Zotero.Reader.getByTabID(Zotero_Tabs.selectedID);}, then call getReader(). return an valid reader object.
5. call getReaderID. the function definition is shown correctly.
6. call getReaderID(). return undefined(should return a reader index)
7. call the for loop directly. return a valid reader index 1.
8. call Zotero_Tabs.selectedID. return a valid tab id 'tab-Xt9g83mm'
The debug ID is 1978557902.
I think this may be caused by some inside bug of Zotero tabs/reader. Could you please help?
Thanks very much!