怎么获取iframe里面内容的var参数,点击后会在当前页面显示iframe,然后我想再做个判断

kisspzt 2018-01-04 02:27:55
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function test(v_1, th_is) {
document["getElementById"]("main")["innerHTML"] = "<IFRAME src='https://openload.co/embed/" + v_1 + "' height='416px' width='668px' scrolling='no' frameBorder='0' allowfullscreen='allowfullscreen'></IFRAME>";
};

</script>
</head>
<body>
<div class="main" id="main">
</div>
<li><a href='#' onclick="test('EP4X3D5b5IE',this)">测试1</a></li>
<li><a href='#' onclick="test('aaaaaaa',this)">测试2</a></li>
</body>
</html>



点击测试1一切正常,这个内容是存在的
想要实现点击测试2,这种不正常不能播放的,只显示我设置的某些文字(如果能实现的话),并请求xxx.com/xxx.php?xxxxaaa(主要是这个,自已做个记录)

正常的页面有var suburl
不正常的页面没有这些东西


求问各路大仙这样的功能可以使用JS来实现吗?
...全文
482 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2018-01-07
  • 打赏
  • 举报
回复
引用 5 楼 kisspzt 的回复:
[quote=引用 3 楼 jslang 的回复:] 只在前端判断,要求父子页面是同域的 在IFRAME的 onload事件中判断子页面中是否有某个特定的变量或元素
IFRAME的 onload = function () {
	try {
		if (this.contentWindow.suburl==undefined) {alert("不正常的页面");}
	} catch(eo){
		alert("不正常的页面");
	}
}
不过这种方法在遇到网络堵塞或者服务器出问题时也会判断成不正常的页面
我记得ajax还是什么的,不是可以跨域吗?[/quote] 只有加载js代码或者jsonp格式的数据时才可以跨域,不适用你的问题。 也可以像#4楼说的,如果两个页面都是你可以改代码的话用postmessage也是能跨域通信的。不过只能跨二级域名,地址的一级域名必须相同
kisspzt 2018-01-07
  • 打赏
  • 举报
回复
引用 3 楼 jslang 的回复:
只在前端判断,要求父子页面是同域的 在IFRAME的 onload事件中判断子页面中是否有某个特定的变量或元素
IFRAME的 onload = function () {
	try {
		if (this.contentWindow.suburl==undefined) {alert("不正常的页面");}
	} catch(eo){
		alert("不正常的页面");
	}
}
不过这种方法在遇到网络堵塞或者服务器出问题时也会判断成不正常的页面
我记得ajax还是什么的,不是可以跨域吗?
似梦飞花 2018-01-04
  • 打赏
  • 举报
回复
如果两个页面都是你可以改代码的话可以用postmessage父子页面通信
天际的海浪 2018-01-04
  • 打赏
  • 举报
回复
只在前端判断,要求父子页面是同域的 在IFRAME的 onload事件中判断子页面中是否有某个特定的变量或元素
IFRAME的 onload = function () {
	try {
		if (this.contentWindow.suburl==undefined) {alert("不正常的页面");}
	} catch(eo){
		alert("不正常的页面");
	}
}
不过这种方法在遇到网络堵塞或者服务器出问题时也会判断成不正常的页面
kisspzt 2018-01-04
  • 打赏
  • 举报
回复
引用 1 楼 jslang 的回复:
要在服务器端判断 做一个test.php IFRAME src='https://openload.co/embed/test.php?f="+v_1+"' 如v_1的值是abc 在test.php中检查服务器有没有abc这个文件 有转向到https://openload.co/embed/abc 没有就输出你设置的某些文字
你好,感谢,我的意思是不使用PHP,因为考虑如果一天几万人次浏览,每次都用PHP去请救,太占资源了
天际的海浪 2018-01-04
  • 打赏
  • 举报
回复
要在服务器端判断 做一个test.php IFRAME src='https://openload.co/embed/test.php?f="+v_1+"' 如v_1的值是abc 在test.php中检查服务器有没有abc这个文件 有转向到https://openload.co/embed/abc 没有就输出你设置的某些文字

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧