AMP (Accelerated Mobile Pages)에서 자바 스크립트를 추가하는 방법을 알려주십시오. 내 요구 사항은 URL에 ID가 있습니다. 예를 들어, localhost : 8080/home? id = 1.Html 파일의 해당 ID에 액세스하려고합니다.AMP 페이지에 자바 스크립트 추가
또는 자바 스크립트 파일을 추가하는 방법을 알려주세요.
감사합니다.
AMP (Accelerated Mobile Pages)에서 자바 스크립트를 추가하는 방법을 알려주십시오. 내 요구 사항은 URL에 ID가 있습니다. 예를 들어, localhost : 8080/home? id = 1.Html 파일의 해당 ID에 액세스하려고합니다.AMP 페이지에 자바 스크립트 추가
또는 자바 스크립트 파일을 추가하는 방법을 알려주세요.
감사합니다.
불행히도 AMP에는 임의의 스크립트를 추가 할 수 없습니다. 태그 script
에 대한 "HTML 태그"에서 the specification, 보낸 사람 : 유형이 application/ld+json
하지 않는 한
는 금지. 예외는 필요에 따라 추가 될 수 있습니다. 예외는 확장 구성 요소를로드하기 위해 AMP 런타임 및 스크립트 태그를로드하는 필수 스크립트 태그입니다.
따라서 AMP에서 JavaScript를 사용하려면 AMP의 미리 정의 된 components을 사용해야합니다. 당신이 원하는 것을하는 구성 요소가 보이지 않습니다.
내가 아는 한, AMP 스크립트를 원점에 호스팅하고 AAC에 자바 스크립트를 추가하고 서비스 작업자를 사용하여 스크립트를 가져 오기위한 요청을 차단할 수 있습니다. 이 기술을 "AMP as PWA"라고합니다. https://www.smashingmagazine.com/2016/12/progressive-web-amps/#amp-as-pwa
좋은 해결책이지만 유감스럽게도 서비스 종사자는 아직 iOS safari에서 지원되지 않습니다. https://caniuse.com/#feat=serviceworkers (일반적으로 AMP 페이지를 만드십시오. 모바일 플랫폼을 타겟팅하는 것입니까?) – olivarra1
앰프 컨퍼런스 2018에서 말테 UBL 웹 근로자를 사용하여 사용자 정의 JS in AMP에 대한 지원을 도입 : 여기
function createCompleteResponse (header, body) {
return Promise.all([
header.text(),
getTemplate(RANDOM STUFF AMP DOESN’T LIKE),
body.text()
]).then(html => {
return new Response(html[0] + html[1] + html[2], {
headers: {
'Content-Type': 'text/html'
}
});
});
}
자세한 설명은 여기에 코드입니다. 그것은 올해 후반에 준비되어야합니다.
여러 질문에 동일한 답변을 추가하지 마십시오. 가장 좋은 답변을하고 나머지는 중복으로 표시하십시오. [여러 질문에 중복 답변을 추가해도됩니까?] (// meta.stackexchange.com/q/104227/206345)를 참조하십시오. – Machavity