2016-06-03 4 views
1

Я использую Google Web Designer в течение нескольких месяцев, и у меня есть вопрос. Я не знаю, можно ли это сделать в GWD:Начиная со случайных страниц в Google Web Designer

Я хочу, чтобы файл index.html загружал другую случайную страницу, выбрав между 3 страницами. Когда вы нажимаете перезагрузку, она должна загружать другую случайную страницу и так далее. Страницы не должны появляться в порядке. Я пытаюсь выяснить, как это можно сделать, но пока у меня не было успеха.

ответ

0

Это может быть выполнено с помощью специального обработчика событий JavaScript.

Элемент <gwd-doubleclick> запускает событие adinitialized перед тем, как будет отображаться любой контент, который мы можем использовать, чтобы наши изменения были применены до того, как пользователь увидит первую страницу. Он также предоставляет метод .goToPage(n), который мы можем использовать для переключения страниц. (goToPage имеет дополнительные аргументы, которые могут использоваться для управления анимацией между страницами, но мы можем игнорировать их, потому что мы хотим, чтобы по умолчанию было мгновенное переключение.)

Начните с добавления нового обработчика событий.

  1. цель: document.body
  2. событие: Google Ad: Ad Initialized
  3. действие: Таможня: Добавление пользовательских действий
  4. конфигурации: имя вашего выбора (например, gwd.goToRandomPage), для следующего кода:

    var pages = 3; // adjust as appropriate 
    var targetPage = Math.floor(Math.random() * pages); 
    event.target.goToPage(targetPage); 
    

В представлении кода вы можете увидеть, что это производит что-то вроде следующего:

// This script block is auto-generated. Please do not edit! 
gwd.actions.events.registerEventHandlers = function(event) { 
    gwd.actions.events.addHandler('document.body', 'adinitialized', gwd.goToRandomPage, false); 
}; 
gwd.actions.events.deregisterEventHandlers = function(event) { 
    gwd.actions.events.removeHandler('document.body', 'adinitialized', gwd.goToRandomPage, false); 
}; 

Вы можете выбрать, чтобы пропустить GWD UI и использовать стандартный JavaScript обработки API, событие, чтобы выполнить то же самое, с чем-то вдоль линий:

document.body.addEventListener('adinitialized', function() { 
    var pages = 3; // adjust as appropriate 
    var targetPage = Math.floor(Math.random() * pages); 
    event.target.goToPage(targetPage); 
}); 

Однако, вы, вероятно, хотите, чтобы избежать этого в целом, так как это будет препятствовать дракункулезу от обработки вещи, как элемент автоматически переименовывать.

Если вы хотите перейти к одному из определенного набора страниц, вместо того, чтобы выбирать из всех страниц, вы можете использовать массив идентификаторов страниц.

var pageIds = ['page1_1', 'page1_2']; 
var targetPage = pageIds[Math.floor(Math.random() * pageIds.length)]; 
event.target.goToPage(targetPage); 

Для дальнейшего использования, вы можете найти большинство компонентов API, described in the documentation. Вопросы о GWD, которые не связаны с кодом или в противном случае непригодны для переполнения стека, должны быть заданы вместо the GWD support forum.

+0

Большое вам спасибо! ваше решение работало как шарм :) –

 Смежные вопросы

  • Нет связанных вопросов^_^