Hello i am newbie to javascript and angularjs,I have made a function in my comtroller for opening a website,and i am calling that function on "onclick" of a button",I am getting ReferenceError: openWebsite is not defined when i am trying to do this,my code is as below,Please help me to solve this,thanks in advance.
controller
app.controller('listingdetailController', function ($http, $scope, $compile, $filter, $sce) {
var Catid = '1';
var SearchTxt = 'cay';
var url = encodeURI("http://www.yahoo.com");
$http({
method: 'POST',
url: API_HOST+'/webservice/listingdetail',
headers:
{
'Content-Type': 'application/x-www-form-urlencoded',
'caymanauth': caymanauth
},
data: "&Catid=" + Catid + "&SearchTxt=" + SearchTxt,
contentType: 'application/x-www-form-urlencoded'
}).success(function (data)
{
var i;
var Content = ' ';
for (i = 0; i<data['Details'].length; i++)
{
if (Content === ' ')
{
Content =
'<div class="app-page-photo">'+
'<div class="app-hero">'+
'<ul class="image ng-scope" rn-carousel="">'+
'<li style="display: inline-block; transform: translate3d(0%, 0px, 0px);">'+
'<div class="bgimage" ng-style="{background-image: url("images/gallery/01.png")}" style="background-image: url("images/gallery/01.png");">'+
'</div>'+
'</li>'+
'<li style="display: inline-block; transform: translate3d(100%, 0px, 0px);">'+
'<div class="bgimage" ng-style="{background-image: url("images/gallery/02.png")}" style="background-image: url("images/gallery/02.png");">'+
'</div>'+
'</li>'+
'<li style="display: inline-block; transform: translate3d(200%, 0px, 0px);">'+
'<div class="bgimage" ng-style="{background-image: url("images/gallery/03.png")}" style="background-image: url("images/gallery/03.png");">'+
'</div>'+
'</li>'+
'</ul>'+
' </div>'+
'</div>'+
'<ons-list class="app-photo-buttons list ons-list-inner">'+
'<ons-list-item class="list__item ons-list-item-inner list__item--action-buttons" modifier="action-buttons">'+
'<ons-row class="action row ons-row-inner">'+
'<ons-col class="action-col col ons-col-inner">'+
'<div style="border-right: 1px solid #ffc22f; padding: 10px 0;">'+
'<div class="action-icon">'+
'<ons-icon class="ons-icon ons-icon--ion ion-android-call fa-lg" icon="ion-android-call">'+
'</ons-icon>'+
'</div>'+
'<div class="action-label">Phone</div>'+
'</div>'+
'</ons-col>'+
'<ons-col class="action-col col ons-col-inner" onclick="sendEmail(message.Email, message.subject, message.body)";>'+
'<div style="border-right: 1px solid #ffc22f; padding: 10px 0;">'+
'<div class="action-icon">'+
'<ons-icon class="ons-icon ons-icon--ion ion-ios-email fa-lg" icon="ion-ios-email">'+
'</ons-icon>'+
'</div>'+
'<div class="action-label">Email</div>'+
'</div>'+
'</ons-col>'+
'<ons-col class="action-col col ons-col-inner">'+
'<div style="border-right: 1px solid #ffc22f; padding: 10px 0;">'+
'<div class="action-icon">'+
'<ons-icon class="ons-icon ons-icon--ion ion-earth fa-lg" icon="ion-earth">'+
'</ons-icon>'+
'</div>'+
'<div class="action-label">Website</div>'+
'</div>'+
'</ons-col>'+
'<ons-col class="action-col col ons-col-inner">'+
'<div style="border-right: 1px solid #ffc22f; padding: 10px 0;">'+
'<div class="action-icon">'+
'<ons-icon class="ons-icon ons-icon--ion ion-android-share-alt fa-lg" icon="ion-android-share-alt">'+
'</ons-icon>'+
'</div>'+
'<div class="action-label">Share</div>'+
'</div>'+
'</ons-col>'+
'</ons-row>'+
'</ons-list-item>'+
'</ons-list>'+
'<ons-list style="border-top: none;">' +
'<ons-list-item>' +
'<ons-row class="detail-row">' +
'<ons-col style="-webkit-box-flex: 0; flex: 0 0 30px; max-width: 30px ; width=30px">' +
'<ons-icon icon="fa-map-marker" fixed-width="true">' + '</ons-icon>' +
'</ons-col>' +
'<ons-col>' +
'<div class="desc">'+
'<ons-icon class="ons-icon fa-map-marker fa fa-lg" fixed-width="true" icon="fa-map-marker">'+
'</ons-icon>'
+ data['Details'][i]['varCityName']+
'</div>'+
'</ons-col>' +
'</ons-row>' +
'</ons-list-item>' + '<br>' +
'<ons-list-item>' +
'<ons-row class="detail-row">' +
'<ons-col style="-webkit-box-flex: 0 flex: 0 0 30px max-width: 30px width=30px">' +
'<ons-icon icon="ion-home" fixed-width="true">'+'</ons-icon>'+
'</ons-col>' +
'<ons-col>' +
'<div class="desc">'+
'<ons-icon class="ons-icon ons-icon--ion ion-home fa-lg" fixed-width="true" icon="ion-home">'+
'</ons-icon>'+ data['Details'][i]['varPhysicalAddress'] +
'</div>' +
'</ons-col> ' +
'</ons-row>' +
'</ons-list-item>' +
'<br>' +
'<ons-list-item>' +
'<ons-row class="detail-row">' +
'<ons-col style="-webkit-box-flex: 0; flex: 0 0 30px; max-width: 30px ; width=30px">' +
'<ons-icon icon="ion-soup-can" fixed-width="true">' + '</ons-icon>' +
'</ons-col>' +
'<ons-col>' +
'<div class=desc>'+'<ons-icon class="ons-icon ons-icon--ion ion-soup-can fa-lg" fixed-width="true" icon="ion-soup-can">'+
'</ons-icon>'
+ data['Details'][i]['varPOBOXAddress']+
'</div>'+
'</ons-col>'+
'</ons-row>'+
'</ons-list-item>'+
'</ons-list>'+
'<div class=caw-botton>'+
'<ons-row class="row ons-row-inner">'+
'<ons-col class="col ons-col-inner" onclick=gallery.pushPage("book-page.html");>'+
'<div style="border-right: 1px solid rgba(221,221,221,0.6); padding: 12px 0; background: #0ad046; color: #FFF;">'+
'<i class="ion-compose">'+'</i>Book Now</div>'+
'</ons-col>'+
'<ons-col class="col ons-col-inner" onclick=gallery.pushPage("book-page.html");>'+
'<div style="padding: 12px 0; background: #cccccc; color: #FFF;">'+
'<i class="ion-edit">'+
'</i>Write a Review</div>'+
'</ons-col>'+
'</ons-row>'+
' </div>';
}
else
{
'<div class="app-page-photo">'+
'<div class="app-hero">'+
'<ul class="image ng-scope" rn-carousel="">'+
'<li style="display: inline-block; transform: translate3d(0%, 0px, 0px);">'+
'<div class="bgimage" ng-style="{background-image: url("images/gallery/01.png")}" style="background-image: url("images/gallery/01.png");">'+
'</div>'+
'</li>'+
'<li style="display: inline-block; transform: translate3d(100%, 0px, 0px);">'+
'<div class="bgimage" ng-style="{background-image: url("images/gallery/02.png")}" style="background-image: url("images/gallery/02.png");">'+
'</div>'+
'</li>'+
'<li style="display: inline-block; transform: translate3d(200%, 0px, 0px);">'+
'<div class="bgimage" ng-style="{background-image: url("images/gallery/03.png")}" style="background-image: url("images/gallery/03.png");">'+
'</div>'+
'</li>'+
'</ul>'+
' </div>'+
'</div>'+
'<ons-list class="app-photo-buttons list ons-list-inner">'+
'<ons-list-item class="list__item ons-list-item-inner list__item--action-buttons" modifier="action-buttons">'+
'<ons-row class="action row ons-row-inner">'+
'<ons-col class="action-col col ons-col-inner">'+
'<div style="border-right: 1px solid #ffc22f; padding: 10px 0;">'+
'<div class="action-icon">'+
'<ons-icon class="ons-icon ons-icon--ion ion-android-call fa-lg" icon="ion-android-call">'+
'</ons-icon>'+
'</div>'+
'<div class="action-label">Phone</div>'+
'</div>'+
'</ons-col>'+
'<ons-col class="action-col col ons-col-inner">'+
'<div style="border-right: 1px solid #ffc22f; padding: 10px 0;">'+
'<div class="action-icon">'+
'<ons-icon class="ons-icon ons-icon--ion ion-ios-email fa-lg" icon="ion-ios-email">'+
'</ons-icon>'+
'</div>'+
'<div class="action-label">Email</div>'+
'</div>'+
'</ons-col>'+
'<ons-col class="action-col col ons-col-inner" onclick="sendEmail(message.Email, message.subject, message.body)";>'+
'<div style="border-right: 1px solid #ffc22f; padding: 10px 0;">'+
'<div class="action-icon">'+
'<ons-icon class="ons-icon ons-icon--ion ion-earth fa-lg" icon="ion-earth">'+
'</ons-icon>'+
'</div>'+
'<div class="action-label">Website</div>'+
'</div>'+
'</ons-col>'+
'<ons-col class="action-col col ons-col-inner">'+
'<div style="border-right: 1px solid #ffc22f; padding: 10px 0;">'+
'<div class="action-icon">'+
'<ons-icon class="ons-icon ons-icon--ion ion-android-share-alt fa-lg" icon="ion-android-share-alt">'+
'</ons-icon>'+
'</div>'+
'<div class="action-label">Share</div>'+
'</div>'+
'</ons-col>'+
'</ons-row>'+
'</ons-list-item>'+
'</ons-list>'+
'<ons-list style="border-top: none;">' +
'<ons-list-item>' +
'<ons-row class="detail-row">' +
'<ons-col style="-webkit-box-flex: 0; flex: 0 0 30px; max-width: 30px ; width=30px">' +
'<ons-icon icon="fa-map-marker" fixed-width="true">' + '</ons-icon>' +
'</ons-col>' +
'<ons-col>' +
'<div class="desc">'+
'<ons-icon class="ons-icon fa-map-marker fa fa-lg" fixed-width="true" icon="fa-map-marker">'+
'</ons-icon>'
+ data['Details'][i]['varCityName']+
'</div>'+
'</ons-col>' +
'</ons-row>' +
'</ons-list-item>' + '<br>' +
'<ons-list-item>' +
'<ons-row class="detail-row">' +
'<ons-col style="-webkit-box-flex: 0 flex: 0 0 30px max-width: 30px width=30px">' +
'<ons-icon icon="ion-home" fixed-width="true">'+'</ons-icon>'+
'</ons-col>' +
'<ons-col>' +
'<div class="desc">'+
'<ons-icon class="ons-icon ons-icon--ion ion-home fa-lg" fixed-width="true" icon="ion-home">'+
'</ons-icon>'+ data['Details'][i]['varPhysicalAddress'] +
'</div>' +
'</ons-col> ' +
'</ons-row>' +
'</ons-list-item>' +
'<br>' +
'<ons-list-item>' +
'<ons-row class="detail-row">' +
'<ons-col style="-webkit-box-flex: 0; flex: 0 0 30px; max-width: 30px ; width=30px">' +
'<ons-icon icon="ion-soup-can" fixed-width="true">' + '</ons-icon>' +
'</ons-col>' +
'<ons-col>' +
'<div class=desc>'+'<ons-icon class="ons-icon ons-icon--ion ion-soup-can fa-lg" fixed-width="true" icon="ion-soup-can">'+
'</ons-icon>'
+ data['Details'][i]['varPOBOXAddress']+
'</div>'+
'</ons-col>'+
'</ons-row>'+
'</ons-list-item>'+
'</ons-list>'+
'<div class=caw-botton>'+
'<ons-row class="row ons-row-inner">'+
'<ons-col class="col ons-col-inner" onclick=gallery.pushPage("book-page.html");>'+
'<div style="border-right: 1px solid rgba(221,221,221,0.6); padding: 12px 0; background: #0ad046; color: #FFF;">'+
'<i class="ion-compose">'+'</i>Book Now</div>'+
'</ons-col>'+
'<ons-col class="col ons-col-inner" onclick=gallery.pushPage("book-page.html");>'+
'<div style="padding: 12px 0; background: #cccccc; color: #FFF;">'+
'<i class="ion-edit">'+
'</i>Write a Review</div>'+
'</ons-col>'+
'</ons-row>'+
' </div>';
}
}
//
// $scope.call = function (message)
// {
// parent.location.href = "tel:{{message.varPhone}}";
//
// };
$scope.snippet = Content;
}).error(function ()
{
alert("error");
});
$scope.sendEmail = function(email, subject, body){
var link = "mailto:"+ email
+ "&subject=New email " + escape(subject);
+ "&body=" + escape(body);
window.location.href = link;
};
$scope.openWebsite = function ()
{
window.open(url, '_blank', 'location=yes');
};
$scope.deliberatelyTrustDangerousSnippet = function ()
{
return $sce.trustAsHtml($scope.snippet);
};
});
now nothing is happening on its click..!!