1、问题
目前iframe 直接打开一个图片 点击按钮的时候插入一个图片。这个时候图片很大,已经超过iframe显示大小,出现了滚动条。
2、实现方式
当插入图片的时候等比例缩小图片,但是不改变iframe,同时不能把图片放到另一个html页中。
还是通过src="D:\\402880c72b2354bc012b238d7ffe0010.bmp" 打开。
希望大家理解。代码:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script>
function insertImage(){
document.getElementById('ifrm').src="D:\\402880c72b2354bc012b238d7ffe0010.bmp";
}
</script>
</HEAD> <BODY>
<input type="button" name="button" value="测试" onclick="insertImage()"/>
<iframe id="ifrm" name="ifrm" scrolling="auto" width="100%" height="755" scrolling="auto" frameborder="0" border="0" marginwidth="0" marginheight="0" >
</BODY>
</HTML>
目前iframe 直接打开一个图片 点击按钮的时候插入一个图片。这个时候图片很大,已经超过iframe显示大小,出现了滚动条。
2、实现方式
当插入图片的时候等比例缩小图片,但是不改变iframe,同时不能把图片放到另一个html页中。
还是通过src="D:\\402880c72b2354bc012b238d7ffe0010.bmp" 打开。
希望大家理解。代码:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script>
function insertImage(){
document.getElementById('ifrm').src="D:\\402880c72b2354bc012b238d7ffe0010.bmp";
}
</script>
</HEAD> <BODY>
<input type="button" name="button" value="测试" onclick="insertImage()"/>
<iframe id="ifrm" name="ifrm" scrolling="auto" width="100%" height="755" scrolling="auto" frameborder="0" border="0" marginwidth="0" marginheight="0" >
</BODY>
</HTML>
解决方案 »
- js 循环构造三维数组出现的问题
- 如何判断ip地址前三位相同,我的是asp+mssql的
- 求,点击一个链接,此链接便消失的JS效果
- 怎么让文本框得到焦点就失去焦点,目的就是让它不可用。
- 如何把自己删了?
- 【求助】单选按钮的name属性不确定,如何用JS实现自动选中?
- 关于表格的一些应用问题
- http://webfx.eae.net/ 请教几高难问题(对我)
- [教程]JScript中的变量引用规则(补充,函数用法说明)
- form.action提交表单后,在jsp中通过request.getParameter("name")取不到值?
- 问个小问题:各位大虾来拿分了 关于JS在ASPX中不正常的问题
- javascript的函数思想是怎么样的啊?高手指教啊!怎么用一些dom?
然后图片还能等比例缩小。用css或者js控制都可以。
只要能达到预期的效果
在加载图片的时候判断图片的大小。超过iframe大小了,用js设定其大小。
---------------------------------------------------------
但问题是图片加载时在网页中无法用js获取其尺寸,但有一个变相的办法获得。
加载时你把图片隐藏,onload之后用js读取其大小,处理完毕后再显示出来就OK啦...
<SCRIPT language="javascript" type="text/javascript">
function fnApply(){
var oFrameBody = document.getElementById('frmMain');
var oContext = oFrameBody.contentWindow.document.body;
oContext.innerHTML = '';
//做一个div的框 目的是控制img对象
var oDiv = document.createElement("div");
oDiv.setAttribute("scrolling","true");
oDiv.setAttribute("width",500);
oDiv.setAttribute("heigth",600);
oDiv.setAttribute("style","color:red;border:2;overflow-y:scroll"); var oNewNode = document.createElement("img");
oNewNode.src = "D:\\402880c72b2448eb012b245ca191000c.jpg";
oNewNode.setAttribute("width","500");
oNewNode.setAttribute("height","700");
oDiv.appendChild(oNewNode);
oContext.appendChild(oDiv);
}
</SCRIPT>
<body>
<table width="100%" cellSpacing="0" cellPadding="0" border="0" id="tab">
<tr>
<td>
<iframe id="frmMain" name="frmMain" src="d:\\11.txt" width="500" height="600" id="ifrid" scrolling="auto" style= "border:1 solid #black" frameborder="0" > </iframe> </td>
</tr>
</table>
<INPUT TYPE="button" VALUE="Apply Element" onclick="fnApply()">
</body>
function ReImgSize(obj){
var imgArr=document.getElementById(obj).getElementsByTagName("IMG");
for (i=0;i<imgArr.length;i++)
{
if (document.all)
{
if (imgArr[i].width>600)
{
imgArr[i].width="600"
imgArr[i].outerHTML='<a href="'+imgArr[i].src+'" target="_blank" title="在新窗口打开图片">'+imgArr[i].outerHTML+'</a>'
}
}
else
{
if (imgArr[i].width>600)
{
imgArr[i].title="在新窗口打开图片"
imgArr[i].style.cursor="pointer"
imgArr[i].onclick=function(e){window.open(this.src)}
}
}
}
}
ReImgSize("content");
//-->
</script> 这样控制一下
$("#ifrm").load(function(){//判断ifrm对象是否加载完毕,同理这个对象也可以是document或window
var img=$("#ifrm").attr("src");
$w=$("#ifrm").width();
$h=$("#ifrm").height();
if((img.width()>$w)&&((img.height()>$h)
img.width($w-5);img.height($h-5);//当图象体积大于IFRM时,让图象大小比IFRAME缩小5
});
不知道这个思路可否!没有测试过,随便写写,如有错误,还望多多包含!
<SCRIPT language="javascript" type="text/javascript">
function fnApply(){
var oFrameBody = document.getElementById('frmMain');
var oContext = oFrameBody.contentWindow.document.body;
oContext.innerHTML = '';
//做一个div的框 目的是控制img对象
var oDiv = document.createElement("div");
oDiv.setAttribute("scrolling","true");
oDiv.setAttribute("width",500);
oDiv.setAttribute("heigth",600);
oDiv.setAttribute("style","color:red;border:2;overflow-y:scroll"); var oNewNode = document.createElement("img");
oNewNode.src = "D:\\Test\\05-src\\WebRoot\\scan\\upload\\402880c72b2448eb012b245ca191000c.jpg";
oNewNode.setAttribute("width","500");
oNewNode.setAttribute("height","700");
oDiv.appendChild(oNewNode);
oContext.appendChild(oDiv);
}
</SCRIPT>
<body>
<table width="100%" cellSpacing="0" cellPadding="0" border="0" id="tab">
<tr>
<td>
<iframe id="frmMain" name="frmMain" src="d:\\11.txt" width="500" height="600" id="ifrid" scrolling="auto" style= "border:1 solid #black" frameborder="0" > </iframe> </td>
</tr>
</table>
<INPUT TYPE="button" VALUE="Apply Element" onclick="fnApply()">
</body>
因为 红色的标志。
function showFile(FileID){
tmpLoad = false;
var fileFlag = FileID.IsPicture();
var oFrame = document.frames("frmMain").document.frames("middleMain").document.getElementById('threeMain');
//alert(oFrameBody.innerText);
if(fileFlag){
var oFrameBody = oFrame.contentWindow.document.body;
oFrameBody.innerHTML='';
//oFrameBody.innerText='';
//var document.frames("frmMain").document.frames("middleMain").document.getElementById('myImg').src="<%=basePath%>//scan//upload//"+FileID;
// var oFrame = document.frames("frmMain").document.frames("middleMain").document.getElementById('threeMain');
var oDiv = document.createElement("div");
oDiv.setAttribute("scrolling","true");
oDiv.setAttribute("width",oFrame.offsetWidth);
oDiv.setAttribute("heigth",755);
oDiv.setAttribute("style","color:red;border:2;overflow-y:scroll");
//oDiv.style.cssText="color:red;border:2;overflow-y:scroll;";
//var oDivd = document..createElement("div")
var oImg =document.createElement("img");
oImg.setAttribute("id","myimg");
oImg.src="<%=basePath%>//scan//upload//"+FileID;
oImg.onreadystatechange=function(){
if(oImg.readyState=="complete") {
if(oImg.width > oFrame.offsetWidth){
oImg.width = oFrame.offsetWidth-20;
}else{
oImg.width = oImg.width;
}
oImg.height = oImg.height;
//alert("oImg.width="+oImg.width+",oImg.length="+oImg.height);
oDiv.appendChild(oImg);
oFrameBody.appendChild(oDiv);
document.getElementById('btnRotation').disabled=false;
}
//alert("Frane高度--"+oFrame.offsetHeight+",Frane宽度--"+oFrame.offsetWidth+",oImg的宽度--"+oImg.height+",oImg的高度---"+oImg.width);
//oImg.height = oImg.height;
}
}else{
oFrame.location = "<%=basePath%>//scan//upload//"+FileID;
document.getElementById('btnRotation').disabled=true;
}
}
但是 文件链接存在。只要回答就有分。本来想结贴 但是看 没有有效的答案。在等等。