Свойство «реквизит» не работает в usercript (для ханакадемии) - PullRequest
0 голосов
/ 13 мая 2019

Я не знаю, противоречит ли этот вопрос правилам, поэтому я пойму, будет ли он удален или получит наказание.

Следующий скрипт создает предупреждение с ответом на упражнение с множественным выбором в Khanacademy. Он работает в основном во всех упражнениях, в которых есть ответы с несколькими вариантами ответов типа «A B C». Раньше она прекрасно работала, но теперь консоль выдает следующую ошибку:

ERROR: Execution of script 'KA Multiple Choice' failed! Cannot read property 'props' of undefined

Я не знаю, был ли исправлен используемый метод, но я хотел бы знать, могу ли я что-нибудь сделать, чтобы это исправить.

Вот сценарий:

const arrayanswers = JSON.parse(window["./javascript/app-shell-package/app-entry.js"].props.componentProps.initialItem.itemData).question.widgets["radio 1"].options.choices,
filtered = arrayanswers.reduce((acc, item, index) => ((item.correct) ? [...acc, index] : acc), []);

alert("0 = Option A" + '\n' + "1 = Option B" + '\n' + "2 = Option C" + '\n' + "3 = Option D" + '\n' + "Answers are: " + `${filtered.join(', ')}`);

РЕДАКТИРОВАТЬ: я получил его с помощью сниппета из Chrome. Тем не менее, я все еще хотел бы заставить его работать в Tampermonkey.

...