Я пытаюсь установить расширение для Firefox, Chrome, Safari и Internet Explorer, я использую crossrider.
В основном я хочу отобразить действие браузера, когда при нажатии отображается всплывающее окно, содержащее входной текст с текущим URL-адресом страницы и кнопку, которая откроет новую вкладку для другого URL-адреса, передавая URL-адрес в качестве параметра.
Вот что я сделал на основе того, что нашел в документации;
расширение.js:
appAPI.ready(function($) {
appAPI.message.addListener(function(msg) {
if (msg.request === 'getUrl'){
appAPI.message.toPopup({url:location.href});
}
});
});
фон.js:
var activeTabUrl;
appAPI.ready(function($) {
appAPI.browserAction.setResourceIcon('logo-19.jpg');
appAPI.browserAction.setBadgeText('extn', [255,0,0,125]);
appAPI.browserAction.setTitle('Add Url to Site');
appAPI.browserAction.setPopup({resourcePath:'pin.html', height: 300, width: 300});
});
пин.html :
<!DOCTYPE html>
<html>
<head>
<title>
</title>
<script type="text/javascript">
function crossriderMain($) {
activeTabUrl = null;
appAPI.message.addListener(function(msg) {
if (msg.url) {
activeTabUrl = msg.url;
$('#url').val(activeTabUrl);
if(activeTabUrl){
$('#addurl').prop('disabled', false);
}
}
});
appAPI.message.toActiveTab({request:'getUrl'});
$('#addurl').click(function(){
var fullUrl = 'http://my.site.com/addurl?url=' + activeTabUrl;
appAPI.openURL(fullUrl, "tab");
});
}
</script>
</head>
<body>
<input id="url" name="url" readonly="true" type="text"/>
<input id="addurl" type="submit" value="Add Url" disabled/ >
</body>
</html>
Иногда поле, содержащее url, не заполняется, это происходит не на конкретной странице, для этой же страницы иногда будет отображаться, иногда нет. Я не могу определить конкретную причину.
Я делаю что-то неправильно ?