好的,我在这里松散地使用术语"渐进增强",但基本上我有一个基于 Flash 的网站,它支持深度链接并动态加载内容 - 我想做的是为那些没有 Flash 和搜索引擎机器人的人提供替代内容(文本)。因此,对于使用闪存的用户,他们将导航到:
http://www.samplesite.com/#specific_page
他们会看到一个闪存站点,该站点将导航到" specific_page
"。 那些没有闪光灯的人会在替代内容部分看到以文本形式呈现的"specific_page
"。
基本上,我会使用 php/mysql 创建一个后端来处理所有这些,因为 swf 也使用动态数据。问题是,外面的东西是否已经存在?
您要实现的目标存在固有的问题。
URL 哈希(或锚点)仅是客户端的 - 该令牌不会发送到服务器。这意味着加载 example.com/#some_page 所需内容的唯一方法(我知道)是使用 AJAX,它可以读取哈希,然后从服务器请求特定于页面的数据。
做? 不。 因为这会杀死搜索引擎机器人。 一个可能的解决方案是让 example.com/some_page 提供相同的内容(事实上,这很容易成为你已经为返回AJAX或Flash请求的内容而创建的REST服务),并提供一个站点地图.xml该站点地图索引这些URI以帮助搜索引擎。
据我所知,没有专门执行这些任务的现有框架,尽管看起来可以做得太麻烦。
好吧,根据OSFlash(开源flash人)的说法,CakePHP和PHPWCMS都可以做你需要的事情,尽管从他们网站的功能列表的第一眼来看,这并不完全明显。
让我们知道他们是否有效!
如果你使用带有Flash/Flex的SWFAddress,那么你可以读取URL,然后将其拆分成一个数组,然后按照你的意愿做:
SWFAddress.addEventListener ( SWFAddressEvent.CHANGE, onChange );
private function onChange ( e : SWFAddressEvent ) : void
{
var ar : Array = SWFAddress.getValue ().split ( '/' );
trace ( 'Array : ', ar );
}
对于您的非闪存内容,如果您使用代码点火器,您将能够提取 url 并将其转换为数组。
另一种选择是使用浮士德。你可以用FAUST做的是让PHP将HMTL渲染为有效的标记,然后FAUST将提取HTML并通过Flash Vars将其作为XML传递给Flash。这种方法使搜索引擎真的非常高兴(见 http://www.bartoncreek.com)。
因此,要回答您的问题,有一些工具可以帮助您实现目标。