在Javascript中调用外部HTML页面
Calling external HTML page inside Javascript
我正在尝试调用一个外部HTML页面,以便根据javascript条件在网站上显示。
代码就像这个
<script language="JavaScript" src="http://j.maxmind.com/app/country.js"></script>
<script type="text/javascript">
var country = geoip_country_code();
if (country == "US")
{
document.write("http://www.mywebsite.com/1.html");
}
else if (country == "GB")
{
document.write("<a href='#'><img src='http://www.image2.com' ><a/>");
}
else
{
document.write("<a href='#'><img src='http://www.image3.com' ><a/>");
}
</script>
现在,它不再向美国访问者显示HTML页面的内容,而是显示"http://www.mywebsite.com/1.html"作为纯文本。
我缺少一个调用外部HTML的函数。有人能帮忙吗?感谢
你指的是<iframe>
元素吗?
document.write('<iframe src="http://www.mywebsite.com/1.html"></iframe>');
由于<iframe>
无法调整自身大小以匹配其内容的大小,请确保为其提供width
/height
属性或样式(如果您知道内容的实际大小)。
将URL的文本插入页面并不能神奇地获取该页面的内容。这种类型的活动通常发生在SERVER上,您的服务器将从另一个页面获取内容,并将其作为页面的一部分提供。JavaScript是不适合这份工作的工具。
这种事情在服务器端使用php之类的东西确实更好,但这是我在许多商业工作中使用的一个函数。同样,我不允许使用这个函数来加载整个页面,但它在工具箱中非常方便。如果有人说你必须使用JQuery才能做到这一点,那就帮我踢他们吧。^_^
function fetchHTML(url)
{
if( 'undefined' == typeof(url) ) return false;
if( document.all ){
p = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
p = new XMLHttpRequest();
}
rnd = Math.random().toString().substring(3);
if( url.indexOf('?') > -1 )
{
url+='&rnd='+rnd;
}
else
{
url+='?rnd='+rnd;
}
p.open("GET",url,false);
p.send(null);
return p.responseText;
}
好吧,你给document.write()
函数一个字符串,这就是为什么它显示它应该显示的字符串。如果你想显示其他页面的内容,你有两个选择,要么使用<iframe>
,要么使用ajax。
相关文章:
- 使用javascript将动态表从一个html页面打印到另一个html页
- 在chrome.tabs.onCreated之后加载HTML页面
- 如何在vs2002中调试html页面
- 使用angular重定向到html页面
- Html页面上的多个Base64图像和平滑加载
- 无法将数据从firebase获取到我的html页面
- 如何在chrome扩展中重定向到html页面
- 如何将值传递到上一个html页面
- AngularJS-需要在index.html页面中访问来自服务的数据
- 如何使用Node/Express显示有关特定错误的自定义html页面
- 如何在 html 页面中调用 jquery
- 加载存储在IndexedDB中的HTML页面
- 同一HTML页面中的两个不同版本的JQuery
- HTML页面如何提取通过表单传递的参数
- 在HTML页面上将URL解析为可读的json格式
- 使用jQuery插入HTML页面的第一个项目缺少结束标记
- 在HTML页面上显示node.js服务器中的数据
- 加载页面时更改html页面的位置
- Ajax调用返回当前html页面,而不是请求的文件
- css是从远程node.js添加的,但不适用于html页面