我有一个网页,我们可以打电话给它entry.html
.
当用户进入此页面时,javascript代码(见下文)正在尝试将用户深层链接到本机iOS/Android应用程序.
如果深层链接失败(可能是因为设备上没有安装应用程序),用户应该"退回"到另一个页面 - 让我们调用它fallback.html
.
这是运行的javascript代码entry.html
:
$(function(){
window.location = 'myapp://';
setTimeout(function(){
window.location = 'fallback.html';
}, 500);
});
Run Code Online (Sandbox Code Playgroud)
这是一种标准的深层链接方法,建议在整个网络中使用; 尝试深层链接,如果超时触发它意味着深层链接没有发生 - 所以回退.
这很好用,因为设备上安装了很长的应用程序.
但是如果没有安装应用程序,这是尝试深层链接时的行为:
移动Safari:我看到一条警告消息说"Safari无法打开此页面......"片刻,然后它正确地回落fallback.html
- 这是预期的行为.
移动Chrome是我的问题.
当没有安装应用程序时,浏览器实际上被重定向到myapp://
网址,这当然是无效的 - 所以我得到一个"未找到"页面,并且不会发生回退.
最后 - 我的问题是:
如何修复我的代码,以便FALL-BACK也会在移动Chrome上发布?就像移动Safari一样?
注意:我看到LinkedIn移动网站正确地使用Safari和Chrome,无论是否安装了应用程序,但我无法追踪负责它的代码:(
注意2:我尝试添加一个iframe
而不是window.location = url
,这只适用于Safari,即使安装了应用程序,移动Chrome也不会在追加iFrame时进行深层链接.
谢谢大家!
更新:
我找到了一个不错的解决方案,并回答了我自己的问题 看到我的解决方案的已接受答案
我创建了一个简单的自定义控件,它只从Literal
控件继承,并且还没有任何扩展,代码是空的.
命名空间:CustomControls
类名:Literal:System.Web.UI.WebControls.Literal
我接下来要做的是在aspx
页面中注册此控件,如下所示:
<%@ Register TagPrefix="web" Namespace="CustomControls" %>
Run Code Online (Sandbox Code Playgroud)
(我在一些教程中读到这是注册它的方法之一,除了web.config等)
毕竟,对我来说没有任何意义,更糟糕的是 - 当我尝试运行带有控件的页面时,我得到一个解析错误'未知服务器标签:web'.
我使用'创建新项目'而不是新网站,以防需要此信息.
可能是我的问题?
提前致谢.
我正在尝试为 html5 视频标签实现动态加载。
当用户通过<input type="file">
元素选择视频文件时,我想将其动态加载到<video>
元素,并将其附加到正文。
以下代码适用于 Chrome,但不适用于 Safari:
function load_video(file) { // this came from <input type="file"> change event
var reader = new FileReader();
reader.onload = function(event) {
var blob = new Blob([event.target.result]);
window.URL = window.URL || window.webkitURL;
var blobURL = window.URL.createObjectURL(blob);
$('body').append('<video controls width="320" src="' + blobURL + '" onloadedmetadata="alert('loaded meta data!')"></video>');
}
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我将替换src="' + blobURL + '"
为本地文件路径,例如/media/videos/vid1.mp4
,视频也会在 Safari 中加载,但我需要它从blobURL
.
有什么建议?
多谢。
更新:
正如 Rod 所说,不幸的是,这是 Safari 中的一个已知错误(不受其媒体后端支持)。
我有一个ASP.NET文档,其中包含一个Image元素.
我mouseover
在这个图像元素上创建了一个函数,它工作正常.
问题是:
如果文档加载自身时鼠标在元素上是ALREADY,则该mouseover
函数不会触发(我需要mouseout
然后mouseover
再触发它).如果鼠标已经在这个元素的顶部,
有没有办法检查$(document).ready
函数?如果是 - 触发mouseover
功能.
谢谢大家!
我需要将整个目录C:\ X复制到C:\ Y\X,我还需要复制子文件夹.
是否有任何方法可以使用System.IO.File\Directory命名空间?
谢谢所有帮手!
检查表达式是仅包含英文字符还是数字字符的最简单方法是什么?没有空格,没有其他字符.
ps - 第一个字符不能是数字.大写或小写.
在过去的 4 个小时里,我一直被一段 javascript 困住了!
问题是如何计算两个数组之间的相似度,如下所示:
arrayA = [a,b,c,d,e,f,g];
arrayB = [c,d,e];
Run Code Online (Sandbox Code Playgroud)
答案应该是三个。我目前唯一的一段代码会产生无限循环:(
请帮忙
我想在按钮点击时左右对齐阿拉伯语的文本和反向英语.我可以通过动态更改英语和阿拉伯语的每个文本对齐来完成此操作,这是一个漫长的过程.
因此,任何机构都可以提供简短的做法.任何建议真的很感激.
我一直Forms Authentication
在用C#(v3.5)实现ASP.NET.
当用户的电子邮件和密码存储在我的SQL数据库中时,我创建了一个简单的登录表单.
当我登录本地主机时,一切正常,但是当我发布项目并将其上传到我的生产Web服务器时,事情对我来说有点奇怪.
该HttpContentxt.Current.User.Identity.IsAuthenticated
变量返回false,即使登录为全成(并再次,在本地主机一切正常).
这是以下登录按钮点击代码(我使用自己的DataAccess,忽略它的无关代码):
protected void btnLogin_Click(object sender, EventArgs e)
{
Page.Validate("Login");
if (Page.IsValid)
{
string email = txtEmail.Text;
string passwd = FormsAuthentication.HashPasswordForStoringInConfigFile(txtPassword.Text, "MD5");
WebFactory.DataAccess.Users.Data userData = new WebFactory.DataAccess.Users.Data(ConnectionString);
userData.Load(new WebFactory.DataAccess.Users.Item[] {
new WebFactory.DataAccess.Users.Item(WebFactory.DataAccess.Users.Columns.Email, email),
new WebFactory.DataAccess.Users.Item(WebFactory.DataAccess.Users.Columns.Password, passwd)
});
if (userData.HasData) // Login Success
{
if (!cbRememberMe.Checked)
{
FormsAuthentication.SetAuthCookie(userData.Id.ToString(), false);
}
else
{
FormsAuthentication.Initialize();
DateTime expires = DateTime.Now.AddDays(20);
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
userData.Id.ToString(),
DateTime.Now,
expires,
true,
String.Empty,
FormsAuthentication.FormsCookiePath);
string encryptedTicket = FormsAuthentication.Encrypt(ticket);
HttpCookie …
Run Code Online (Sandbox Code Playgroud) asp.net ×5
javascript ×4
c# ×2
.net ×1
arrays ×1
blob ×1
copy ×1
count ×1
deep-linking ×1
html ×1
html5-video ×1
jquery ×1
mouseover ×1
pageload ×1
parse-error ×1
regex ×1
subdirectory ×1