Html 嵌入网站的一部分
假设我想把我最喜欢的网络漫画之一的最新漫画嵌入我的网站,作为对它的一种宣传。webcomic在一个带有id的div里面有一个条带,所以我想我可以把div嵌入到我的站点中,只是我找不到任何代码示例来说明如何嵌入(它们都显示了如何嵌入flash或整个网站)。 有人能告诉我是怎么做的吗Html 嵌入网站的一部分,html,embed,screen-scraping,Html,Embed,Screen Scraping,假设我想把我最喜欢的网络漫画之一的最新漫画嵌入我的网站,作为对它的一种宣传。webcomic在一个带有id的div里面有一个条带,所以我想我可以把div嵌入到我的站点中,只是我找不到任何代码示例来说明如何嵌入(它们都显示了如何嵌入flash或整个网站)。 有人能告诉我是怎么做的吗 PS我不希望使用服务器端脚本或外部服务(这是嵌入RSS时经常建议的) 您可以使用iframe。内容不在该页面上,但看起来很像 下面是一个例子: 看起来是这样的: <iframe src ="http://www.
PS我不希望使用服务器端脚本或外部服务(这是嵌入RSS时经常建议的) 您可以使用
iframe
。内容不在该页面上,但看起来很像
下面是一个例子:
看起来是这样的:
<iframe src ="http://www.example.com/index.html" width="100%" height="300"></iframe>
这是不可能的,因为您无法操作iframe/frame内容。使用iframe标记只会修改标记中的内容,而不会修改src。 AJAX也不行,因为您必须在同一个域上 例如,您可以将PHP与cURL一起使用,也可以简单地与fopen一起使用。Update-使用jQuery的跨域请求(在客户端) 昨天我浏览了James Padolsey的博客,他在那里发表了一篇关于如何使用jQuery的文章,Chris Heilmann也有一篇不错的文章 其原理是使用->YahooAPI进行网页查询,您将收到包含所有html的JSON。快乐刮擦:) 用php刮取远程数据,用jQuery加载 考虑一下简单的AJAX调用,它将截取喜剧元素并使用主要用于此目的的
更新其内容,怎么样
您还将使用一个简单的php来获取远程页面,因为您无法在另一个域上进行ajax调用
注意:用户必须启用JavaScript,以下代码也使用jQuery库
把它们放在一起
更新连环漫画
<div id="update-comic">
<!-- here comes scraped content -->
</div>
$(函数(){
//设置所有必需的变量
变量
localUrl='/comic scrape.php',
elementId=“#远程喜剧id”,
elementToUpdate=$(“#更新漫画”);
//使用elementId内容更新本地elementToUpdate
//从php的localUrl
加载(localUrl+''+elementId;
});
<?php
// set remote url and div id to be found
$elementId = 'remote-comic-id';
$url = 'http://www.example.com/';
// instantiate simple xml element and populate from $url
$xml = new SimpleXMLElement($url, null, true);
// find required div by id
$result = $xml->xpath("//div[id={$elementId}]");
// take first element from array, which is our desired div
$div = array_pop($result);
echo $div;
xpath(“//div[id={$elementId}]”;
//从数组中获取第一个元素,它是我们想要的div
$div=array\u pop($result);
echo$div;
不过,别忘了先问问网络喜剧的作者他们是否真的想这样做。他们甚至可能有一些“隐藏”的URL供您包含。事实上,您“宁愿不使用服务器端脚本或外部服务”是愚蠢的-如果你真的需要这样做,你应该这样做。这是用来嵌入flash对象的。这是用来嵌入很多东西的,但不是有效的,并且不允许你有选择地删除页面的一部分。我知道iframe,但我如何定位一个特定的div?我不想嵌入整个网站,只是一个具有strip。你不能让你有选择地用iframe删除页面的一部分。如果你打算使用自己的PHP脚本下载/提供文件,你也应该用PHP解析漫画,而不是使用客户端(jQuery)为此,PHP中有很多库可以轻松地从HTML访问某个节点。OP希望资源服务器尽可能友好。我认为这是提供此类功能的最简单的方法之一。此外,它还可以扩展为解析响应HTML并仅缓存相关的\id
@philfreo更新代码,以反映做xml解析服务器端的要求好吧,我想我别无选择,只能参与一些服务器端脚本编写……是时候找一个php教程了。
<script type="text/javascript">
$(function () {
// set all your required variables
var
localUrl = '/comic-scrape.php',
elementId = '#remote-comic-id',
elementToUpdate = $('#update-comic');
// update the local elementToUpdate with elementId contents
// from your php in localUrl
elementToUpdate.load(localUrl + ' ' + elementId;
});
</script>
<?php
// set remote url and div id to be found
$elementId = 'remote-comic-id';
$url = 'http://www.example.com/';
// instantiate simple xml element and populate from $url
$xml = new SimpleXMLElement($url, null, true);
// find required div by id
$result = $xml->xpath("//div[id={$elementId}]");
// take first element from array, which is our desired div
$div = array_pop($result);
echo $div;