出自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签名,必填,签名方法参见签名算法
Image:note.png 提示
在iframe方式下,对于标准视图和完整视图,用户只能控制高度而不能控制宽度,对于配置视图,可以控制高度和宽度

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>
个人工具