История изменений
Исправление mydibyje, (текущая версия) :
У переменной template
нет метода select
. Откройте DevTools в браузере через F12 и там в консоли напишите var template = ""
, нажмите Enter и затем начните писать template.se
, в подсказках будет только search
и еще парочка методов для строк. Вот если бы template
была бы HTMLInputElement тогда select
был бы. Но такой метод копирования, когда создается скрытый HTMLInputElement, туда записывается текст, и потом копируется через select
, довольно устарел, да и execCommand
помечен как deprecated. Так что советую использовать Clipboard API.
//template.select();
//document.execCommand('copy');
navigator.clipboard.writeText(template).then(function() {
prompt("Your Wikipedia template:", template, " has been copied into the clipboard.");
})
Отлаживать скрипт, чтобы видеть понятные ошибки, можно в той же DevTools консоли, запуская всю программу как IIFE
(function() {
var isbn = prompt("Enter the ISBN of the book");
//...
prompt("Your Wikipedia template:", template, " has been copied into the clipboard.");
});
})();
Тогда вы сразу увидите человекочитаемую ошибку, что функции select
у template
нет.
Uncaught (in promise) TypeError: template.select is not a function
от которой дальше можно плясать
Исправление mydibyje, :
У переменной template
нет метода select
. Откройте DevTools в браузере через F12 и там в консоли напишите var template = ""
, нажмите Enter и затем начните писать template.se
, в подсказках будет только search
и еще парочка методов для строк. Вот если бы template
была бы HTMLElement тогда select
был бы. Но такой метод копирования, когда создается скрытый HTMLElement, туда записывается текст, и потом копируется через select
, довольно устарел, да и execCommand
помечен как deprecated. Так что советую использовать Clipboard API.
//template.select();
//document.execCommand('copy');
navigator.clipboard.writeText(template).then(function() {
prompt("Your Wikipedia template:", template, " has been copied into the clipboard.");
})
Отлаживать скрипт, чтобы видеть понятные ошибки, можно в той же DevTools консоли, запуская всю программу как IIFE
(function() {
var isbn = prompt("Enter the ISBN of the book");
//...
prompt("Your Wikipedia template:", template, " has been copied into the clipboard.");
});
})();
Тогда вы сразу увидите человекочитаемую ошибку, что функции select
у template
нет.
Uncaught (in promise) TypeError: template.select is not a function
от которой дальше можно плясать
Исходная версия mydibyje, :
У переменной template
нет метода select
. Откройте DevTools в браузере через F12 и там в консоли напишите var template = ""
, нажмите Enter и затем начните писать template.se
, в подсказках будет только search
и еще парочка методов для строк. Вот если бы template
была бы HTMLElement тогда select
был бы. Но такой метод копирования, когда создается скрытый HTMLElement, туда записывается текст, и потом копируется через select
, довольно устарел, да и execCommand
помечен как deprecated. Так что советую использовать Clipboard API.
//template.select();
//document.execCommand('copy');
navigator.clipboard.writeText(template).then(function() {
prompt("Your Wikipedia template:", template, " has been copied into the clipboard.");
})
Отлаживать скрипт, чтобы видеть понятные ошибки, можно в той же DevTools консоли, запуская всю программу как IIFE
(function() {
var isbn = prompt("Enter the ISBN of the book");
//...
prompt("Your Wikipedia template:", template, " has been copied into the clipboard.");
});
})();
Тогда вы сразу увидите человекочитаемую ошибку, что функции select
у template
нет.
Uncaught (in promise) TypeError: template.select is not a function
от которой дальше можно плясать