2014-01-07 4 views
1

Google gadgetGoogle Sites과 같은 가젯 컨테이너에 삽입 된 iframe입니다. 예 : https://sites.google.com/site/michaelmccolin/test 그러나 Google 가젯과 Google 사이트 도구는 서로 다른 두 도메인에 있기 때문에 window.parent.location을 사용하여 가제트 상위 URL을 가져올 수 없습니다. 좋은 소식은 부모 URL이 가젯 (iframe) URL에 매개 변수 값으로 포함되어 있다는 것입니다. 예 :
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#st=e%3DAIHE3cDvCGmbZDEAvjS%252BWTpqst9FseOLNB%252BMd8IoyLxY3kypcxAriuGzs%252FtCova0JAhrFqKK2kKB3qFgru2PBUTYWMIIcmPaw4iAl7DIaUqyPKO56DpM9mcbQqh1bIa23t89yrL7maxL%26c%3Denterprise&rpctoken=9057528913578437337Google 가제트 URL 매개 변수를 얻는 방법

질문은 가젯 URL에서 parent 매개 변수 값을 얻는 방법입니다.
감사합니다. 다음과 같이

답변

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; 
+0

답변 해 주셔서 감사합니다! 'location.search'는 나에게 아이디어를주었습니다 : 단순히'location.search.split ('parent =') [1]'을 사용하는 것이 좋습니까? – Mori

+0

@RainLover 당신은 쉽게 할 수 있지만'parent'가 질의 문자열의 마지막 매개 변수가되기 때문에 (단, 그렇지 않다면 여전히'location.search.split (' 위의 방법은 좀 더 자세한 정보이지만 재사용 가능합니다. - BTW, 솔루션에 대한 결정을 내리면 위의 대답에 몇 가지 수정을했습니다. (예 : parent = ') [1] .split ('? ') [0] . – Barney