Как получить параметры URL гаджетов Google

Гаджет Google - это iframe, встроенный в контейнер гаджетов, такой как Сайты Google. Пример: https://sites.google.com/site/michaelmccolin/test

Однако, поскольку гаджеты Google и Сайты Google находятся в двух разных доменах, вы не можете получить родительский URL гаджета, используя window.parent.location, Хорошей новостью является то, что родительский URL-адрес включен в качестве значения параметра в URL-адрес гаджета (iframe). Пример:
https://slr19h92al8so047kuchhg5aog1sb42l-a-sites-opensocial.googleusercontent.com/gadgets/ifr?url=http://hosting.gmodules.com/ig/gadgets/file/116132513635841516857/sample.xml&container=enterprise&view=default&lang=en&country=ALL&sanitize=0&v=3bad4b3f87c8b199&libs=core&mid=167&parent=https://sites.google.com/site/michaelmccolin/test

Вопрос в том, как я могу получить parent значение параметра из URL-адреса гаджета.
Спасибо!

1 ответ

Вы можете получить доступ к строке запроса следующим образом:

var queryString = location.search.substr( 1 );

С этого момента проще разделить его на разделители и создать из него объект:

var queryObject = {};

queryString.split( '&' ).forEach( function objectFromPair( pairString ){
    var pairArray = pairString.split( '=' );

    queryObject[ pairArray[ 0 ] ] = pairArray[ 1 ];
} );

Затем найдите parent ключ:

var parentUrl = queryObject.parent;
Другие вопросы по тегам