我想在PhoneGap应用程序中显示页面内容。这很好用:
<a href="#" onclick="window.open('https://www.google.com', '_self ', 'location=yes');">google.com</a>
当我点击链接谷歌被加载到应用程序内。
我正在使用WordPress Rest API退休帖子数据。为此,我使用这个:
getPosts: function() {
var rootURL = 'https://example.com/wp-json/wp/v2/posts/';
$.ajax({
type: 'GET',
url: rootURL,
dataType: 'json',
success: function(data){
$.each(data, function(index, value) {
console.log(value.featured_image);
$('ul.homepost-list').append('<li class="homepost-list__item">' +
'<a href="'+value.link+'">'+
'<img width="100" height="75" src="'+value.fimg_url+'" alt="'+value.title.rendered+'"/>'+
'<h3>'+value.title.rendered+'</h3>' +
'<p>'+value.excerpt.rendered+'</p>'+
'</a>'+
'</li>');
;
});
},
error: function(error){
console.log(error);
}
});
}
但是当它点击它在浏览器中打开的帖子时。要在app中打开它我必须使用这样的onclick函数:<a href="#" onclick="window.open('https://www.google.com', '_self ', 'location=yes');">google.com</a>
所以我改变了这样:
getPosts: function() {
var rootURL = 'https://example.com/wp-json/wp/v2/posts/';
$.ajax({
type: 'GET',
url: rootURL,
dataType: 'json',
success: function(data){
$.each(data, function(index, value) {
console.log(value.featured_image);
$('ul.homepost-list').append('<li class="homepost-list__item">' +
'<a href="#" onclick="'+window.open(''+value.link+'', '_self ', 'location=yes')+'">'+
'<img width="100" height="75" src="'+value.fimg_url+'" alt="'+value.title.rendered+'"/>'+
'<h3>'+value.title.rendered+'</h3>' +
'<p>'+value.excerpt.rendered+'</p>'+
'</a>'+
'</li>');
;
});
},
error: function(error){
console.log(error);
}
});
}
但现在锚点onclick值为NULL onclik null
我想这是因为这行有一个语法错误qazxsw poi
我如何更改此语法行以使其工作?这只是一个简单的语法错误我知道,但我无法弄明白。
您需要处理如何添加字符串和变量以及单引号和双引号。请看这里的小提琴google.com
https://jsfiddle.net/designtocode/u3o57jr2/3/
需要是:
onclick="'+window.open(''+value.link+'', '_self ', 'location=yes')+'">'+
这意味着onclick="window.open(\''+value.link+'\', \'_self \', \'location=yes\')">
和onclick
需要作为字符串传递,window.open
需要变量。由于我们使用单引号来转义javascript代码,因此我们需要在单引号之前添加value.link
,如果您需要它作为字符串。
我希望这有意义,并将在未来帮助你。
你需要逃避单引号
\