amp-script: Support creating all AMP elements e.g. amp-date-countdown #25344
Copy link
Copy link
Open
Labels
Component: amp-scriptStaleInactive for one year or moreInactive for one year or moreType: BugWG: runtime
Description
What's the issue?
When trying to add amp-date-countdown dynamically using amp-script, a "Sanitized node" error is printed to the console, and it isn't added to the DOM.
How do we reproduce the issue?
JSBin: https://jsbin.com/tenozoxoko/edit?html,output
<!DOCTYPE html>
<html ⚡>
<head>
<script async src="https://cdn.ampproject.org/v0.js"></script>
<script async custom-element="amp-script" src="https://cdn.ampproject.org/v0/amp-script-0.1.js"></script>
<script async custom-template="amp-mustache" src="https://cdn.ampproject.org/v0/amp-mustache-0.2.js"></script>
<script async custom-element="amp-date-countdown" src="https://cdn.ampproject.org/v0/amp-date-countdown-0.1.js"></script>
</head>
<body>
<amp-script layout="container" script="hello-script" development>
<button>Add timer</button>
<div id="timer"></div>
</amp-script>
<script id="hello-script" type="text/plain" target="amp-script">
const btn = document.querySelector('button');
btn.addEventListener('click', () => {
const timer = document.getElementById('timer');
timer.innerHTML = `
<amp-date-countdown layout="fixed" height="100" width="300" timestamp-seconds="2147483648">
<template type="amp-mustache">
{{d}}:{{h}}:{{m}}:{{s}}
</template>
</amp-date-countdown>
`
})
</script>
</body>
</html>Create a page that uses amp-script, and within the script, dynamically add an amp-date-countdown to the DOM.
What browsers are affected?
All browsers appear to be affected.
Which AMP version is affected?
Version 1910251950120.
Reacted by Alexander Kazakov, Andrea De Pirro, Javi Eurrutia, Gabriel Martínez, Andrei O. (andrei0x309), David K, Sisir and Alexey Zakharov
Reacted by Alexander Kazakov
Metadata
Metadata
Assignees
Labels
Component: amp-scriptStaleInactive for one year or moreInactive for one year or moreType: BugWG: runtime
Activity
[-]amp-date-countdown can't be inserted using amp-script[/-][+]amp-script: Create <amp-date-countdown>[/+]dreamofabear commentedon Nov 18, 2019
Thanks for filing this issue. Currently, only creating
amp-imgandamp-layoutare supported. This will change in the future, but we'll update the documentation to point this out in the meantime.[-]amp-script: Create <amp-date-countdown>[/-][+]amp-script: Support creating all AMP elements e.g. amp-date-countdown[/+]mwiley commentedon Nov 26, 2019
Great, thank you!
nurulhudaapon commentedon Dec 7, 2019
Can we have support for
amp-iframe? If not then what would be the best way to dynamically assignsrcofamp-iframefrom script ofamp-script?massawho commentedon Dec 27, 2019
I just needed to created an
amp-pixeldynamically and found out that onlyamp-layoutandamp-imgis supported. The problem is that for what I need,amp-imgwould be enough, but I can't generatePAGE_VIEW_IDorRANDOMwith it. That would be great if we can support other amp elementsbrycesteinhoff commentedon Jan 6, 2020
We also would like to be able to dynamically create
amp-iframefromamp-script. We need some programmatic control over which iframesrcis loaded.PratkinV commentedon Mar 5, 2020
Please add ability to create
amp-analytics, it would help a lot.akira28 commentedon May 4, 2020
I would need to add
amp-addinamicallyc0un7-z3r0 commentedon Aug 20, 2020
Please add
amp-consentto allow loading of cmp layers.rafaelmuttoni commentedon Oct 8, 2020
Were you able to do it? I'm also looking for a way to dynamically assign src of amp-iframe.
alexandr-kazakov commentedon Feb 19, 2021
I tried to add images with a lightbox using amp-script, but the lightbox does not work: #27808 I think this is an important feature.
It turns out that I can't add images to the lightbox gallery right now.
vivekn-procentris commentedon Jul 22, 2021
Need the ability to create amp-script at run time for analytics to dynamically add the src value for amp-script tags.
stale commentedon Oct 19, 2022
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.