$(document).ready(function() {
$('iframe').each(function() {
var src = $(this).attr('src');
// Replace youtube vids
var ytprefix = "http://www.youtube.com/embed/";
if(src.indexOf(ytprefix) != -1) {
replaceYT(this, src.substring(ytprefix.length));
}
});
$('object').each(function() {
var srcel = $('param[name="src"]', this);
var src = $(srcel).attr('value');
// Replace youtube vids
var ytprefix = "http://www.youtube.com/v/";
if(src.indexOf(ytprefix) != -1) {
replaceYT(this, src.substring(ytprefix.length));
}
});
});
function replaceYT(el, code) {
if(code.indexOf("/") != -1) {
code = code.substring(0, code.indexOf("/"));
}
if(code.indexOf("?") != -1) {
code = code.substring(0, code.indexOf("?"));
}
var atag = $("<a href='vnd.youtube:" + code +"'><img class='youtubeimg' src='file:///android_asset/youtube-play-button.png' style='background:url(http://img.youtube.com/vi/" + code + "/0.jpg)'/></a>");
$(el).replaceWith(atag);
}
只是加载在jQuery和这个脚本。这将取代youtube iframes和object tags以及来自视频的屏幕截图以及指向youtube的链接。经测试在SE的Xperia X10 &的Nexus 7
设置你的web视图来处理的YouTube这样的: WebViewClient mWebClient =新WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("http://www.youtube.com") || url.startsWith("vnd.youtube")){
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
return true;
}
return false;
}
};
的 “shouldOverrideUrlLoading” 部分帮我装逼的YouTube视频进入android内置的youtube应用程序。 Upvote为此。 – sandalone