起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: flybirding

[结贴] 手机查看上传图片后点返回到登陆页

[复制链接]

32

主题

112

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
QQ
 楼主| 发表于 2016-8-11 15:24:57 | 显示全部楼层
//用于创建Iframe的函数
        Model.prototype.createFrame = function(event) {
        debugger
                 var iframe = document.createElement ('iframe');
        iframe.src = "https://www.baidu.com";
        iframe.setAttribute("scrolling", "no");
        iframe.setAttribute("frameborder", 0);
        iframe.style.position = "fixed";
        iframe.style.bottom = 0;
        iframe.style.left = 0;
        iframe.style.top = 0;
        iframe.style.width = "1366px";
        iframe.style.height = "768px";
        

        //document.body.appendChild (iframe);
        };
       
        自己写的创建iframe,但在里面现在不报错,但不能执行,。w文件要怎么给他的div里创建一个全屏的iframe呢?
回复 支持 反对

使用道具 举报

32

主题

112

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
QQ
 楼主| 发表于 2016-8-11 16:04:13 | 显示全部楼层

3.png 4.png

我现在在后台写了平台文档里的创建iframe, 然后点击图片那个位置调用这个函数,能过去,但创建不了iframe。是哪还有错误吗
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-8-11 16:49:48 | 显示全部楼层
创建了iframe,要把iframe条件到页面的节点上啊
这个就是html标准的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

32

主题

112

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
QQ
 楼主| 发表于 2016-8-11 16:56:18 | 显示全部楼层
        Model.prototype.createFrame = function(event) {
         debugger
                  var iframe = document.createElement ('iframe');
         iframe.src = "https://www.baidu.com";
         iframe.setAttribute("scrolling", "no");
         iframe.setAttribute("frameborder", 0);
         iframe.style.position = "fixed";
         iframe.style.bottom = 0;
         iframe.style.left = 0;
         iframe.style.top = 0;
         iframe.style.width = "1366px";
         iframe.style.height = "768px";
         

         document.body.appendChild (iframe);

这个不就是标准的吗,我在html中已经测试通过了,但在w页面不管用啊
你指的放到节点上,我需要先取到content1。然后咱们放?用什么方法放?比如我this.comp("content1").appendChild(iframe);
不行啊,能不能说的详细一点,非常感谢。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-8-11 17:26:00 | 显示全部楼层
document.body.appendChild改为 $(this.getElementByXid("window的xid")).append();看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

32

主题

112

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
QQ
 楼主| 发表于 2016-8-11 18:52:30 | 显示全部楼层
现在情况是这样:
我有个w页面,放了一个contents,然后里面放了要给talk的content。xid就是talk.这时候我在这个w页面写了创建iframe的方法,最后用$(this.getElementByXid("talk")).append(iframe);这种方式放进去了,页面也有。

也修改了attachment ,下面红色字体部分
<div component="$UI/system/components/justep/attachment/attachment"
                                    access="d" xid="attachment5" bind-ref="ref("image")">
                                    <div class="x-attachment" xid="div121">
                                      <div class="x-attachment-content x-card-border"
                                        xid="div123">
                                        <div class="x-doc-process" xid="div130">
                                          <div class="progress-bar x-doc-process-bar"
                                            role="progressbar" style="width:0%;" xid="progressBar5"/>
                                        </div>  
                                        <div data-bind="foreach:$attachmentItems"
                                          xid="div135">
                                          <div class="x-attachment-cell" xid="div136">
                                            <div class="x-attachment-item x-item-other"
                                              data-bind="click:$model.getModel().createFrame($object),style:{opacity: $model.$access.get() % 4 >= 2 || $model.$state.get() == 'remove' ? '1.0' : '0.5',backgroundImage:($model.previewPicture.bind($model,$object))()}"
                                              xid="div137">
                                              <a data-bind="visible:$model.$state.get() == 'remove'"
                                                class="x-remove-barget" xid="a7"/>
                                            </div>
                                          </div>
                                        </div>  
                                        <div class="x-attachment-cell" data-bind="visible:$state.get() == 'upload' && ($limit.get() == '-1' || $limit.get() > $attachmentItems.get().length)"
                                          xid="div138">
                                          <div class="x-attachment-item x-item-upload"
                                            data-bind="visible:$state.get() == 'upload' && $access.get() % 512 >= 256"
                                            xid="div139"/>
                                        </div>  
                                        <div class="x-attachment-cell" data-bind="visible:$state.get() == 'upload' && $attachmentItems.get().length > 0"
                                          xid="div140">
                                          <div class="x-attachment-item x-item-remove"
                                            data-bind="click:changeState.bind($object,'remove'),visible:$access.get() % 2048 >= 1024"
                                            xid="div141"/>
                                        </div>  
                                        <div style="clear:both;" xid="div142"/>
                                      </div>
                                    </div>
                                  </div>

我在手机上访问 首先跳到这个页面的首页 比如叫index这个content上,然后我再点到talk这个content页面的时候 那个iframe已经在那了。不是应该我点图片的时候才创建这个iframe吗?为什么会先创建,而且,我用你发的那个链接的方法创建event.colName == "image" 这个colName怎么取得?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-8-12 09:36:36 | 显示全部楼层
1.click中如下修改:
<div class="x-attachment-item x-item-other" data-bind="click:$model.getModel().createFrame.bind($model.getModel(),$object),
2.js中的实现
  1. Model.prototype.createFrame = function(event){
  2.                 var docPath = event.docPath.get();
  3.                 var fileID = event.fileID.get();
  4.                 var url = DocUtils.InnerUtils.getdocServerAction({
  5.                         "docPath" : docPath,
  6.                         urlPattern : "/repository/file/view/" + fileID + "/last/content",
  7.                         isFormAction : false,
  8.                         context : this.getContext()
  9.                 });
  10.                 var iframe = document.createElement('iframe');
  11.                 iframe.src = url;
  12.                 iframe.setAttribute("scrolling", "no");
  13.                 iframe.setAttribute("frameborder", 0);
  14.                 iframe.style.position = "fixed";
  15.                 iframe.style.bottom = 0;
  16.                 iframe.style.left = 0;
  17.                 iframe.style.top = 0;
  18.                 iframe.style.width = "1366px";
  19.                 iframe.style.height = "768px";
  20.                 $(this.getElementByXid("window")).append(iframe);
  21.         }
复制代码
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

32

主题

112

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
QQ
 楼主| 发表于 2016-8-12 10:13:41 | 显示全部楼层

首先谢谢帮忙写出代码,出现以下为题:
1、之前说过我页面的window里有contents ,然后有比如listContent,talkContent这样的子content。您写的$(this.getElementByXid("window")).append(iframe);虽然可以实现,但不符合要求。
最终的要求是我点击图片,然后能返回上一个content或者关闭这个iframe的content。现在的情况是如果用window,则返回上几个页面的时候,当点击返回按钮前几次没有反应,第三次以后就到了首页那个content,但什么都点击不了。如果我把byXid改成talk,也就是talk这个content有那个图片,然后点击图片调用之前写的创建iframe,确实能出来,也能返回,但我返回后只要在想点到talk这个content就会出现那图,原因是我ByXid写的talk。
2、我想问下,bex5 5.2.7版本从event取值是用event.xxx.value。到了3.4又用了event.xxx.get();像这样的写法我上哪去搜到底要怎么写?论坛?还是哪个文档?换一个版本我就得先去找一下具体api写法?这个好纠结啊。我昨天就是写event.xxx.value然后一直是undefined。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-8-12 11:48:03 | 显示全部楼层
1.我只是给的案例,具体在什么节点下创建看自己的需求,我这没有完全相同的场景
  返回后只要在想点到talk这个content这个自己写代码控制了?
2.这个不是事件平台默认的事件是重写的方法
   可以js中加debugger调试看看要获取的是对象还是string
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

32

主题

112

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
QQ
 楼主| 发表于 2016-8-12 13:33:43 | 显示全部楼层
关于1的问题,我没有控制,你可以试一下就知道了。在3.4版本中 你放个iframe到content里,他就会一直存在,点返回他也会在那,当你再点击到这个content的时候,由于你是点过图片的所以把这个iframe生成在这 返回这个content的时候iframe会在上层,表现就是第一次我直接就点到带图片的conent,然后点一下这个content里已经上传的图片,这时候iframe生成然后全屏了。现在去点返回 一直点几个,然后按正常流程你要再点回这个带图片的content的时候就是显示iframe里的图片全屏了。不信你可以把图片变成100*100的形式 直接就看出来效果了。

之前帖子不是说手机端点图片全屏返回时bug.平台正在修复吗?说这几天就可以搞定,现在我按你们这种说法在你的帮助下 还是有很多不对的地方,是否可以一次性帮忙解决?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-18 20:15 , Processed in 0.063959 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表