embed的src问题!!!

<embed id="ppf" src="path" width="950px" height="800px" type="application/pdf" />中的src为什么只能用项目中的路径。不能用本地的绝对的?

不可能使用绝对路径。

假如你使用绝对路径时

1、客户端访问你的站点的那个网页

2、客户端的浏览器检测到时 src的属性为C:\xxx.pdf

3、客户端浏览器通过file:///C:/xxx.pdf来获取PDF文件。

注意这时,是通过的File协议,客户端浏览器使用你提供的是绝对路径,在自己的电脑上寻找,而不是在你的服务器上寻找。所以就找不到。

[b][color=blue]特别注意[/color]:使用embed表签,HTML不会讲PDF的内容写入到网页中!! 而是写入一个链接,让浏览器再发送一次请求,去取文件。

如果你使用绝对路径,浏览器使用File协议去找,如果是相对于你服务器(即项目)目录的路径,浏览器通过HTTP协议去寻找。[/b]

假设,你的网页内容如下:
[code="html"]




[/code]

客户的浏览器检测到embed标签,然后解析src属性,发现是个本地路径,于是就会在客户的机器上寻找!!

如果是这样,src是目标(JavaEETutorial.pdf)相对于该网页在Server上的地址:
[code="html"]




[/code]

就会发起一个HTTP请求,到服务器 http://xxxxxx/xxxx/JavaEETutorial.pdf 的一个请求。

所以如果是web形式,只能放在服务器上。如果是本地形式,即地址栏是:C:\Documents and Settings\Administrator\桌面\test.html,就可以使用本地的路径了

在项目中取得项目中的资源的话,你就直接可以用项目中的路径,如果你要取得本地的就是你自己电脑上的资源,就可以使用本地绝对路径,比如说资源在你的本机上那么可以:C:\。。。这是可以取到的,除非你的路径写错了。。

[quote]我在项目中web下放置一个a.pdf文件,然后用embed的src=“./a.pdf”就能在网页中显示出该pdf文件 [/quote]

你的浏览器地址栏 是以HTTP开头的吧?