我想在我的ios webapp中加入一些Instagram照片,每次点击一张照片,打开Instagram投票。
由于iframe,我遇到了一些问题,我无法在iframe中显示Instagram,以便将其保留在我的网页内,并有一个按钮可以返回。因此,我正在尝试启动safari以打开该链接,以便我可以对该页面进行投票并将应用程序更改为我的。
在Android中我没有问题,因为我在手机上有后退按钮,在winpho中也是如此。
我用Instagram链接拨打其他页面,这是javascript中的代码:
<body id="responsiveDemo">
<div data-role="page" id="test" data-theme="g">
<div data-theme="g" data-role="header">
<a href="javascript:history.back()" data-icon="back" data-iconpos="notext"></a>
<h1>Instagram</h1>
</div>
<div data-role="content">
<iframe id="iframeInstagram" src="" name="IframeInstagram" style="width: 100%; height: 800px; border: medium none;visibility: visible;"></iframe>
<!-- <img id="iframeInstagram" src="">-->
<script>
$(document).on("pageshow", '#test', function() {
var query = location.search.substring(1);
//console.log(query);
var parameters = {};
var keyValues = query.split(/&/);
for (var i = 0; i < keyValues.length;i++) {
var keyValuePairs = keyValues[i].split(/==/);
var key = keyValuePairs[0];
var value = keyValuePairs[1];
parameters[key] = value;
}
var is_uiwebview = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent);
var is_safari_or_uiwebview = /(iPhone|iPod|iPad).*AppleWebKit/i.test(navigator.userAgent);
if(is_safari_or_uiwebview){ //Es un ios
var a = document.createElement('a');
a.setAttribute("href", parameters['instagram']);
a.setAttribute("target", "_blank");
var dispatch = document.createEvent("HTMLEvents");
dispatch.initEvent("click", true, true);
a.dispatchEvent(dispatch);
}else{ //No es un ios
document.getElementById('iframeInstagram').src = parameters['instagram'] + 'embed';
}
});
</script>
</div> <!-- /content -->
</div>
</body>
我可以尝试使用ios模拟器,因为至少在今天下午或明天我都不会有手机。
你能否告诉我这是否是从webapp打开safari的正确方法?在模拟器中,它使所有在同一个应用程序,而不是打开safari。我猜,IOS7是主要目标
我正在读它并且我很困惑。在一些帖子中看来,在ios7中这是有效的,在其他帖子中,它取决于更新......