У меня есть страница Visualforce, используемая на Сайтах, на которую меня попросили добавить диспетчер тегов Google.

У меня есть один блок сценария, который поставляется с инструкцией «вставить следующий код Javascript перед закрывающим тегом заголовка».

У меня есть еще один блок кода, который представляет собой iframe, заключенный в блок. это должно идти «после открывающего тега тела».

Как разместить эти блоки, если «заголовок» и «тело» не являются тегами Visualforce?

Этот ответ предлагает создать пустую страницу контейнера html5, но мне нужен контент на моей странице:

Как добавить коды GTM на страницу Visualforce

0
Jagular 25 Сен 2019 в 21:43

1 ответ

Страницы Visualforce имеют неявный тег html и body, так что да, вы можете добавить эти блоки в начало или конец страницы, как указано.

Кроме того, ничто не мешает вам добавлять собственные теги html и body на страницу visualforce, даже если вы больше не используете стандартные теги html. Например, вы можете сделать это

<apex:page showHeader="false" standardController="User"
extensions="ProfileTabUserController" >
<body>

<apex:outputPanel >

    <p>Your name is {!$User.FirstName} {!$User.LastName}, and 
    you're the viewer. Your UID is {!viewerID}.</p>
    <br/>

    <p>You are viewing the profile of {!user.name}, 
    whose UID is {!subjectID}.</p>
    <br/>

    <p>Are you viewing your own profile? {!viewingMyProfile}</p>
    <br/>

</apex:outputPanel>
 </body>
</apex:page>

Обратите внимание, что тег body находится внутри тега apex:page, и это совершенно нормально.

1
CommonCoreTawan 25 Сен 2019 в 22:24
Когда я добавляю свой собственный тег body, я вижу два на странице при просмотре исходного кода страницы. На странице Visualforce есть только один. Я не уверен, откуда взялся второй. Добавляет ли Salesforce его при создании страницы или он каким-то образом добавляется сценарием?
 – 
Jagular
26 Сен 2019 в 18:00
Вероятно, это неявно добавлено отделом продаж. Если это не нарушает ваш сценарий, не беспокойтесь об этом.
 – 
CommonCoreTawan
26 Сен 2019 в 18:12
В другом месте мне сказали, что наличие нескольких тегов тела является недопустимым html. Я не знаю, что это проблема, но я не знаю, что это не так. stackoverflow.com/questions/2035462 /…
 – 
Jagular
26 Сен 2019 в 18:16
Я зависит. Браузеры все равно могут прочитать это и могут автоматически исправлять ошибки. Если это не нарушает страницу или ваш сценарий, то все в порядке.
 – 
CommonCoreTawan
26 Сен 2019 в 18:20
1
Оказывается, можно подавить автоматическую генерацию тега body с помощью applyBodyTag="false". Это половина того, что мне нужно. Подробности здесь: developer.salesforce.com/docs /atlas.en-us.pages.meta/pages/…
 – 
Jagular
26 Сен 2019 в 18:46