怎样用jquery调用外部html
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用jquery调用外部html相关的知识,希望对你有一定的参考价值。
怎样用jquery调用外部html
<!DOCTYPE html>
<html>
<head>
<style>
body font-size: 12px; font-family: Arial;
</style>
<script src="
</head>
<body>
<b>Footer navigation:</b>
<ol id="new-nav"></ol>
<script>
$("#new-nav").load("ajax/test.html #container");
</script>
</body>
</html>
可以用jquery里面的load方法,上面的例子是在ajax/目录下找到test.html文件,把里面id为#container的div加载到该页面div为#new-nav的盒子!
这个是ajax方法吗,我想请问怎样可以控制调取的这个html页面的大小呢
追答页面的大小;是指页面内容的长宽(px)?还是文件的容量大小(kb)?
追问是长宽的,我调取出来的页面还变成乱码了,怎么办啊?
追答明白你的问题所在……
第一,如果你想调取过来的东西放在特定的位置的话,请定义id的位置
#new-navposition:absolute;top:0;left:0;$("#new-nav").load(……
第二,如果你想调取过来的东西有固定长宽的话,请定义id的长宽
#new-navwidth:200px;height:300px;$("#new-nav").load(……
第三,至于你出现乱码的问题的话,就是编码的问题了
//主页,js代码,load过来的页面全部编码都要一致,下面这句是定义一个页面的编码为gb2312<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
//引入一个网页的时候也可以定义一下编码,ps:js一般默认是utf-8的
<script type="text/javascript" src="xxx" charset="utf-8"></script>
如果你定义还是出现乱码问题的话,那就是因为除了定义一个页面的编码还是不够的,还一个文件本身的编码问题。不行可以再问我:)
我想把js的编码改成gb2312,应该怎么改呢
追答你的js一定要改成gb2312吗?这样会很麻烦……因为在js里面没有方法是转码的,只能用户自己定义!
如果你的主页非要设置charset=gb2312"的话,又不想出现乱码,其实还是有方法的
js文件不要定义编码,调用也不要可以定义编码,文件属性改为gb2312, 调用的时候只要你在js完成代码输出就行了,最好不要掺合到主页……
如果你还搞上了数据库编码问题的话,就更麻烦了
<script type="text/javascript">
$(function ()
document.getElementById("ifm").src ="";//Url地址
$("#ifm").load(function ()
var h = document.body.clientHeight;
var w = document.body.clientWidth;
document.getElementById("ifm").height = h + "px";
document.getElementById("ifm").width = w + "px";
);
)
</script>
<body style="overflow-y:hidden;overflow-x:hidden">
<div id="pageone" style="">
<iframe name="ifm" id="ifm" scrolling="yes" style="background-color: transparent;" marginwidth="0" marginheight="0" frameborder="0">
</iframe>
</div>
</body> 参考技术C 不明白你的意思,你是要调用别个页面的dom元素吗
jquery 调用子窗口函数
function (jq, iframe)
//通过工具方法,获取到iframe的window对象
var fwindow = $.window.util.getFrameWindow(iframe);
//用iframe的window对象获取iframe里面的加载jq对象
var ijq = fwindow.jQuery;
ijq("html").ready(ijq.doInit(“1111”));-----这里找不到子窗口中的doInit
<head id="Head1" runat="server">
<title></title>
<script type="text/javascript" src="../Scripts/jquery.min.js"></script>
<script "></="text/javascript">
function doInit(UserCode)
var record = win.getData('record');
$.ajax(
type: "post",
url: "../Ashx/Query.ashx",
data: "Type=queryUser&userCode=",
success: function (data)
if (data.toString() == "error")
$('body').html("用户信息不存在!");
else
var data = JSON.parse(data)[0];
$('#userCode').val(data.UserCode);
$('#userName').val(data.UserName);
$('#userType').val(data.UserType);
$('#remark').val(data.Remark);
,
error: function (data) if (data.toString() == "error") alert("加载数据失败");
);
function doSave(win)
var target = win.getData('datagrid');
var row = win.getData('record');
var index = target.datagrid('getRowIndex', row);
target.datagrid('updateRow',
index: index,
row:
UserType: $('#userType').val(),
Remark: $('#remark').val()
);
win.close();
function doCancel(win)
win.close();
</script>
</head>
<body>
<div class="window-form">
<h3>
我是一个由iframe加载的页面</h3>
<div>
</body>
fwindow.doInit("1111")
你的写法ijq.doInit(),是调用jquery的函数。。。 参考技术A window.open不行?
以上是关于怎样用jquery调用外部html的主要内容,如果未能解决你的问题,请参考以下文章