关于为什么要通过iFrame使用AJAX?和iframe为什么不建议使用的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于ajax–检测是否通过iframe访问网站?嵌入小工具与购物车、aj
关于为什么要通过iFrame使用AJAX?和iframe为什么不建议使用的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于ajax – 检测是否通过iframe访问网站?嵌入小工具与购物车、ajax--iframe模拟ajax文件上传效果、AJAX解决什么问题?如何使用AJAX?AJAX有什么问题需要注意?项目中哪里用到了AJAX?、Flex通过Iframe使用activex控件,点击除Iframe的其他地方后,Iframe内容消失等相关知识的信息别忘了在本站进行查找喔。
本文目录一览:- 为什么要通过iFrame使用AJAX?(iframe为什么不建议使用)
- ajax – 检测是否通过iframe访问网站?嵌入小工具与购物车
- ajax--iframe模拟ajax文件上传效果
- AJAX解决什么问题?如何使用AJAX?AJAX有什么问题需要注意?项目中哪里用到了AJAX?
- Flex通过Iframe使用activex控件,点击除Iframe的其他地方后,Iframe内容消失
为什么要通过iFrame使用AJAX?(iframe为什么不建议使用)
我是一个相对较新的程序员,与他告诉我的一个合作伙伴交谈,他说在AJAX之前,他使用iframe来发送数据并更改内容(显然是在JavaScript的帮助下)。
我知道两者都是相似的技术,但是我没有找到描述其特征的文章,
与Iframe相比,AJAX有哪些优势?
编辑
我没有找到任何关于该技术的解释,但是我的搭档告诉我他将数据通过隐藏的iframe发布并提交iframe,听起来好像只需要刷新iframe,但我从未这样做
ajax – 检测是否通过iframe访问网站?嵌入小工具与购物车
>在javascript小部件中重新创建交互式购物车UI,然后使用AJAX将值传递到服务器脚本,将变量传递到主站点,当用户点击“checkout”时,用户随后被重定向到主购物车站点,其中的变量从输入的内容填充小部件.
>专业人士:完整的经验
>缺点:大多数工作要完成创建UI和AJAX请求.
>以某种方式检测用户是否通过iframe进入购物车,如果是这种情况,则当用户点击“结帐”将用户重定向到安全页面并通过AJAX从购物车获取变量以填充最终结账时,备用代码会打开新窗口.
>专业人士:中等工作量,必须做AJAX请求才能从购物车中获取变量以填充最终结账
>缺点:我们可以轻松检测是否正在从另一个网站上的iframe内的用户访问网站?
>在iframe / widget中完成整个结账流程.
>专业人士:最少工作,只需在iframe中嵌入购物车
>缺点:不会在浏览器中显示https用户可能不愿意购买
什么是最好的选择?
解决方法
这是对您提供的选项的快速回复.
选项1:我看到的唯一真实选项.无论您是将购物车专门嵌入iframe还是将其作为模板的一部分呈现在用户页面上,您都应该将客户导航到主站点以完成结帐流程.或者至少给他们很多屏幕空间来处理(例如一个相当大的模态).
选项2:很乱.您可以通过附加url参数来判断请求是否来自远程表单(如iframe).但采取你所建议的方法并没有多大意义.
选项3:太重了,除非你采取类似于我在回答选项1时提到的模态方法.
话虽这么说,如果您正在构建像Shopify这样的应用程序,您应该能够为每个用户的网站构建一个模板,该模板的一部分专门用于显示与当前客户会话相关的购物车.这种方法不需要iframe或小部件.但同样,这一切都取决于您的应用程序的用例.
ajax--iframe模拟ajax文件上传效果
js无权读取本地的文件,so不能上传文件但是
有这几种方法
1 iframe伪装 jquery-uploaded-file
2 swf插件 (这个不讲,是一个单独的软件
3 html5
iframe模拟ajax文件上传效果
1捕捉表单提交动作
2创建iframe
3target修改指向 iframe
4去掉iframe
<h1></h1> <!-- enctype 属性可能的值: application/x-www-form-urlencoded multipart/form-data text/plain 规定在发送表单数据之前如何对其进行编码。 target 规定在何处打开 action URL。(这边是iframe里) onsubmit 点击运行js的方法通过才到`action 文件上传说没上传 enctype没写-->
js部分(用了jquery) 创建iframe
<script type="text/javascript" src="http://libs.baidu.com/jquery/1.7.2/jquery.min.js"></script><script type="text/javascript"> function upfile(){ // 创建iframe 和属性name var ifname = 'up'+Math.random(); $('<iframe name="' + ifname +'">').appendTo($('body')); // form表单加入target属性,form点击在iframe打开 $('form:first').attr('target',ifname); } </script>
<?php if(empty($_FILES)){ exit('no file'); } $error = $_FILES['pic']['error'] == 0 ? '上传成功':'上传失败'; echo "<script> parent.document.getElementsByTagName(''h1'')[0].innerHTML = ''$error''"; ?>

以上就介绍了ajax--iframe模拟ajax文件上传效果,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
AJAX解决什么问题?如何使用AJAX?AJAX有什么问题需要注意?项目中哪里用到了AJAX?
AJAX解决的问题就是“无刷新更新页面”,用传统的HTML表单方式进行页面的更新时,每次都要将请求提交到服务器,服务器返回后再重绘界面,这样界面就会经历:提交→变白→重新显示这样一个过程,用户体验非常差,使用AJAX则不会导致页面重新提交、刷新。
AJAX最本质的实现是在Javascript中使用XMLHttpRequest进行Http的请求,开发中通常使用UpdatePanel、JQuery等方式简化AJAX的开发,UpdatePanel的方式实现AJAX最简单,但是数据通讯量比较大,因为要来回传整个ViewState,而且不灵活,对于复杂的需求则可以使用JQuery提供的ajax功能。
UpdatePanel的内部原理。
AJAX最重要的问题是无法跨域请求(www.rupeng.com→so.rupeng.com),也就是无法在页面中向和当前域名不同的页面发送请求,可以使用在当前页面所在的域的服务端做代理页面的方式解决。
在如鹏网项目中发帖的时候显示相关帖的功能、站内搜索项目中显示搜索Suggestion、数据采集项目中都用到了AJAX。
Flex通过Iframe使用activex控件,点击除Iframe的其他地方后,Iframe内容消失
解决办法如下(此办法是网上其他地方提出的,使用后果然可以解决以上问题):
在index.template.html中更改一个属性,index.template.html在你的flex工程下,目录为 :工程名\html-template\index.template.html。打开后,查看window的属性"wmode",看到后,将其值更改为"transparent"。一般一共会有三个地方。更改完后保存,重新编译,启动工程,成功!
具体的代码如下:(注意红色字体)
<!-- saved from url=(0014)about:internet -->
<html lang="en">
<!--
Smart developers always View Source.
This application was built using Adobe Flex,an open source framework
for building rich Internet applications that get delivered via the
Flash Player or to desktops via Adobe AIR.
Learn more about Flex at http://flex.org
// -->
<head>
<Meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- BEGIN browser History required section -->
<link rel="stylesheet" type="text/css" href="history/history.css" />
<!-- END browser History required section -->
<title>${title}</title>
<script src="AC_OETags.js" language="javascript"></script>
<!-- BEGIN browser History required section -->
<script src="history/history.js" language="javascript"></script>
<!-- END browser History required section -->
<style>
body { margin: 0px; overflow:hidden }
</style>
<script language="JavaScript" type="text/javascript">
<!--
// -----------------------------------------------------------------------------
// Globals
// Major version of Flash required
var requiredMajorVersion = ${version_major};
// Minor version of Flash required
var requiredMinorVersion = ${version_minor};
// Minor version of Flash required
var requiredRevision = ${version_revision};
// -----------------------------------------------------------------------------
// -->
</script>
<script src="../scripts/hello.js" language="javascript"></script>
</head>
<body scroll="no">
<script language="JavaScript" type="text/javascript">
<!--
// Version check for the Flash Player that has the ability to start Player Product Install (6.0r65)
var hasProductInstall = DetectFlashVer(6,65);
// Version check based upon the values defined in globals
var hasRequestedVersion = DetectFlashVer(requiredMajorVersion,requiredMinorVersion,requiredRevision);
if ( hasProductInstall && !hasRequestedVersion ) {
// DO NOT MODIFY THE FOLLOWING FOUR LInes
// Location visited after installation is complete if installation is required
var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
var MMredirectURL = window.location;
document.title = document.title.slice(0,47) + " - Flash Player Installation";
var MMdoctitle = document.title;
AC_FL_runcontent(
"src","playerProductInstall",
"FlashVars","MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
"width","${width}",
"height","${height}",
"align","middle",
"id","${application}",
"quality","high",
"bgcolor","${bgcolor}",
"name",
"allowScriptAccess","sameDomain",
"type","application/x-shockwave-flash",
"wmode","transparent",
"pluginspage","http://www.adobe.com/go/getflashplayer"
);
} else if (hasRequestedVersion) {
// if we've detected an acceptable version transparent
// embed the Flash Content SWF when all tests are passed
AC_FL_runcontent(
"src","${swf}",
"width",
"height",
"align",
"id",
"quality",
"bgcolor",
"name",
"allowScriptAccess",
"type",
"wmode",
"pluginspage","http://www.adobe.com/go/getflashplayer"
);
} else { // flash is too old or we can't detect the plugin
var alternateContent = 'Alternate HTML content should be placed here. '
+ 'This content requires the Adobe Flash Player. '
+ '<a href=http://www.adobe.com/go/getflash/>Get Flash</a>';
document.write(alternateContent); // insert non-flash content
}
// -->
</script>
<noscript>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="${application}" width="${width}" height="${height}"
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
<param name="movie" value="${swf}.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="${bgcolor}" />
<param name="allowScriptAccess" value="sameDomain" />
<embed src="${swf}.swf" quality="high" bgcolor="${bgcolor}"
width="${width}" height="${height}" name="${application}" align="middle"
play="true"
loop="false"
quality="high"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer" wmode="transparent"> </embed> </object></noscript></body></html>
关于为什么要通过iFrame使用AJAX?和iframe为什么不建议使用的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于ajax – 检测是否通过iframe访问网站?嵌入小工具与购物车、ajax--iframe模拟ajax文件上传效果、AJAX解决什么问题?如何使用AJAX?AJAX有什么问题需要注意?项目中哪里用到了AJAX?、Flex通过Iframe使用activex控件,点击除Iframe的其他地方后,Iframe内容消失等相关内容,可以在本站寻找。
本文标签: