У меня есть веб-сайт AMP, на котором я хочу выбирать текст абзаца при каждом нажатии. Я использовал amp-script для добавления пользовательских JavaScript на страницу, вот код, который я использую, и он отлично работает на страницах без усилителя:
<amp-script width="700" height="200" script="custom-script">
<div class="link_to_us_box">
<p class="code" id="link_to_us_code"><a href="<?php echo current_url();?>"><?php echo $page->title;?></a></p>
</div>
</amp-script>
<script id="custom-script" type="text/plain" target="amp-script">
const txt = document.getElementById('link_to_us_code');
console.log(txt);
txt.addEventListener('click', () => {
selectText('link_to_us_code');
});
function selectText(node) {
node = document.getElementById(node);
if (document.body.createTextRange) {
const range = document.body.createTextRange();
range.moveToElementText(node);
range.select();
} else if (window.getSelection) {
const selection = window.getSelection();
const range = document.createRange();
range.selectNodeContents(node);
selection.removeAllRanges();
selection.addRange(range);
} else {
console.warn("Could not select text in node: Unsupported browser.");
}
}
</script>
Он всегда идет в остальной части, ни document.body.createTextRange
ни window.getSelection
работает. Пожалуйста помоги. До благодарности за любую помощь!