【发布时间】:2014-02-22 02:02:45
【问题描述】:
我一直在尝试使用 PHP 转发到最后制作一个模式窗口,在当前页面上只显示一个链接而没有模式脚本。
使用 PHP 你可以这样转发:
<?php
header( "Location: http://example.com" );
您还可以使用备用 URL 方案进行转发,例如,您可以像这样打开 SMS 消息:
<?php
header( "Location: sms:867-5309" );
例如,您可以让“http://yoursite.com/phone-number.php”在支持设备上开始短信对话,同时保持您打开的页面。
我还看到人们使用 URL 方案“javascript:”从浏览器地址栏或书签中运行 javascript。
我的问题是:每当我尝试使用 PHP 标头重定向执行 Javscript 时,什么都没有发生,就像这样:
<?php
header( "Location: javascript:alert('hey!');" );
我的问题是:为什么它不执行,有没有办法让它工作?
【问题讨论】:
-
javascript:url 不是真正的 URI 方案,它们只是您的浏览器理解的内容在某些情况下 JavaScript 适用。在重定向中并非如此。此外,sms等其他 uri 方案通常不是专门编码到浏览器中的,而是具有更多控制权的插件。 -
...HTTP/1.1 requires an absolute URI as argument to » Location: including the scheme, hostname and absolute path...来自here。可以共享:,但肯定alert不是URI..
标签: javascript php bookmarklet url-scheme