1

好的...我会尝试完成我的问题(所以,很抱歉冗长)...我一直在尝试在整个网络上搜索一个理想的解决方案。我建立了我们公司的网站(自学),并且开始为我的页眉和页脚包含一些不错的 css 和 php,并准备在我的 CSS 中使用不同浏览器大小/分辨率的一些媒体查询并获得一些很好的响应式网页设计。作为我们行业的产品供应商,我们将产品数据上传到名为 Sage 的服务中。他们为我们提供了一个我们可以使用的个人网站,该网站可以提取我们提供给他们的产品数据。但是,他们的网站设计不是很好,我们只想将产品数据提取到我们自己现有的网站中。

目前,我们每个产品类别的网站页面只使用一个 iframe,其 src URL 指向他们提供给我们的 Sage 网站上的搜索表单结果生成的链接。显然这不是很好,因为拉入数据的速度很慢,而且我的 iframe 的大小必须始终适合最大高度,因为我不希望 iframe 有滚动条。

同样,我是自学网络开发的,我唯一的工具是大量的谷歌......并且只是阅读源代码,所以如果您有任何建议,请具体详细。

我在这个网站上发现了一些由其他人发布的东西,实际上几乎可以使用以下代码为我工作(我正在这个 URL上进行测试(如果你想看看发生了什么)。

它使用以下代码:

<?php $ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.promoplace.com/ws/ws.dll/StartSrchDistID=36182&ProdSelect=&Srching=1&CatName=Pens&catmoveto=Pens&category=221&keywords=&itemnum=&LoP=&HiP=&Qty=&Search.x=44&Search.y=22&Search=submit&GlobalSearch=");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); ?>
<?php $result = curl_exec($ch);
curl_close($ch); ?>
<?php $result = preg_replace("#(<\s*a\s+[^>]*href\s*=\s*[\"'])(?!http)([^\"'>]+([\"'>]+)#",'$1http://www.promoplace.com/$2$3', $result);
echo $result ?>

如果您查看我的测试页面......数据已经足够好,但外部图像不显示,当您单击查看“更多详细信息”时,它会附加正确的实际链接数据,应该在外部域到我的域,它指向外部存在的目录,而不是我的域。这显然是因为图像使用的是为本地目录编写的链接。我假设 $results = preg_replace..... ... 上面的命令以某种方式纠正了这个问题,所以也许我做错了,我已经快到了。

如果有人有任何想法或更好、更清洁的方法来实现这一点,我们将非常感谢您的帮助。我真的学到了很多东西,并且很享受这一切。

4

2 回答 2

3

如果您不想使用 iframe 并且正在使用 jQuery,则可以执行以下操作。试试下面的代码:

使用 div 标签代替 iframe 标签

<div id="divId"></div>

将此代码放在您的<head>标签中

<head>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js?ver=1.4'></script>

<script type='text/javascript'>
$(document).ready(function (){
$('#divId').load(url of target website what you must load);     
});
</script>
</head>

来自目标站点或页面(指定 url)的所有内容都将插入到#divIDdiv 标签内。希望这可以帮助。一切顺利!

于 2013-03-01T13:33:38.137 回答
-1

您可以尝试使用 object 元素,该元素将允许您单击以子页面为目标的链接。尝试这个:

<object height="100%" width="100%" data="http://foo.com">

将您的样式设置为:

html, body{height: 100%;min-height: 100%;}

如果子页面与父页面不在同一个域中,请确保设置 CORS。

于 2016-01-22T16:32:36.220 回答