出自Yahoo_cn_wiki
您在这:首页 > NCP文档中心 > NCP接口文档 > Iframe方式下控制视图尺寸的接口
Iframe方式下控制视图尺寸的接口
对于标准视图、完整视图和配置视图,NCP平台都支持框架嵌入方式(即iframe方式),但是对于iframe方式,用户如何控制三种视图的尺寸呢?
控制视图尺寸的方式
- 通过在代码里放入一个隐藏的iframe来设置其高度,这个iframe的src为:
http://{SITE_DOMAIN}/api/SetiframeView?view_mode={VIEW_MODE}&module_id={MODULE_ID}&height={HEIGHT}&width={WIDTH}&y_sig={Y_SIG}
其中:
- {SITE_DOMAIN}: 完整的站点域名(xxx.zhan.cn.yahoo.com),必填
- {VIEW_MODE}: [box|full|conf],可选,缺省值box
- {MODULE_ID}:module id,必填
- {HEIGHT}:控制iframe的高度,必填,最大值1000
- {WIDTH}:控制iframe的宽度,只有当view_mode为conf时,才能控制width,否则不起作用。
- {Y_SIG}:sig签名,必填,签名方法参见签名算法
PHP代码样例
<?php function SignYahoo($params,$secret_key ) { ksort( $params ); // 对参数排序排序 $data = $secret_key; // 将签名密钥放在最前面 foreach ($params as $key => $value) { $data .= "$key=$value"; // 拼装参数串 } $sig = md5($data); return $sig; } $y_site_id = $_GET['y_site_id']; $y_site_domain = $_GET['y_site_domain']; $y_module_id = $_GET['y_module_id']; $y_app_key = $_GET['y_app_key']; $height = 300; $width = 100; //如果是标准视图,宽度的设置将不起作用 $view_mode = $_GET['y_view_mode']; $params = array(); $params['module_id'] = $y_module_id; $params['height'] = $height; $params['width'] = $width; $params['view_mode'] = $view_mode; $serect_key = '4434d4ed4ee93ff4d28f698e04f30a71'; $y_sig = SignYahoo($params, $serect_key); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>control the width and height app</title> </head> <body> your html is here... <iframe style="display:none;font-size:0;margin:0;padding:0;position:absolute;left:-9999px;" frameborder="0" width="0" height="0" src="http://<?php echo $y_site_domain?>/api/setIframeView? module_id=<?php echo $y_module_id?>&height=<?php echo $height ?>&width=<?php echo $width?>& view_mode=<?php echo $view_mode ?>&y_sig=<?php echo $y_sig ?>" > </iframe> </body> </html>
