Google gadget是嵌入在Google Sites等小工具容器中的iframe。 示例:https://sites.google.com/site/michaelmccolin/test
但是,由于Google小工具和Google协作平台位于两个不同的域中,因此您无法使用window.parent.location
获取小工具父网址。好消息是父URL作为参数值包含在gadget(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=9057528913578437337
问题是我如何从小工具网址获取parent
参数值
谢谢!
答案 0 :(得分: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;