Я пытаюсь понять, возможно ли использовать код из DuckDuckHack Мгновенные ответы вне контекста основного сайта DuckDuckGo.В конце концов, Instant Answer - это в основном автономный компонент, который состоит из некоторого HTML, CSS и Javascript и должен быть относительно автономным и многократно используемым.
Поскольку проект DuckDuckHack находится в режиме обслуживания, он, похоже, являетсяНемного сложно получить информацию: Slack и Forum, упомянутые в Руководстве разработчика , были отключены.Я пытался выяснить, пытались ли другие люди заставить Мгновенные ответы работать в других контекстах, но я ничего не мог найти.Существуют учебные пособия по написанию мгновенных ответов, такие как this с использованием инструментов Perl и DuckPAN.Я пытался заставить существующий Мгновенный ответ работать с использованием этих инструментов, но мне не удалось заставить его работать должным образом (не уверен, что они все еще поддерживаются).
Поскольку эти инструменты кажутся немного тяжелыми, я подумалможно было бы полностью обойти их и попытаться просто использовать HTML, CSS и JS из Мгновенного ответа напрямую.
Я впервые дал Калькулятор .Я нашел соответствующий исходный код в каталоге duckduckgo / zeroclickinfo-goodies в хранилище share / goodie / calculator .HTML, кажется, находится в content.handlebars
, а затем есть calculator.css
и calculator.js
.Я создал простой HTML-файл , поместил туда HTML-код content.handlebars
и включил ссылки на CSS-файл и JS-файл.Во-первых, CSS не будет работать, потому что правила CSS не применяются без добавления дополнительных div-пакетов-оберток, которые можно легко найти при проверке сайта DuckDuckGo с видимым калькулятором Instant Answer.После добавления этих оболочек div пользовательский интерфейс калькулятора выглядит более или менее неповрежденным .Однако кнопки пользовательского интерфейса вообще не работают.
Глядя на консоль Javascript, я получаю эту ошибку:
Uncaught ReferenceError: DDH is not defined
at calculator.js:1
Видимо, для требуется объект DDH
calculator.js , однако я понятия не имею, каким должен быть этот объект и как я мог бы его создать.
Кто-нибудь знает, как эта переменная DDH
обычно инициализируется или, в более общем смысле, как это сделать??Любая ссылка на проекты, использующие код из DuckDuckHack для своих сайтов, также будет высоко оценена.