123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- (function() {
- var _isRoot = false;
- var _isIndex = false;
- var _routedEventObject = null;
-
- function init() {
- if (document.location.href.substring(0, 7) != 'file://') return;
-
- // this is true if this is the root item
- var _isRoot = (window == parent);
- var mainFrame = document.getElementById('mainFrame');
- _isIndex = mainFrame && true; // one way to cast it to a bool
-
- var eventDiv = document.getElementById('axureEventReceiverDiv');
- if (eventDiv) {
- _routedEventObject = document.createEvent('Event');
- _routedEventObject.initEvent('axureMessageReceiverEvent', true, true);
- } else {
- return;
- }
-
- if (_isRoot && _isIndex) {
- chrome.extension.sendRequest({
- message : "showIcon"
- });
- } else if (_isRoot) {
- chrome.extension.sendRequest({
- message : "hideIcon"
- });
- }
-
- if (_isIndex) { initIndex(); }
-
- var eventSenderDiv = document.getElementById('axureEventSenderDiv');
- eventSenderDiv.addEventListener('axureMessageSenderEvent', handleSentEvent);
-
- sendMessage(JSON.stringify({
- message:'initialize'
- }));
- }
- init();
- function handleSentEvent() {
- var eventSenderDiv = document.getElementById('axureEventSenderDiv');
- var message = eventSenderDiv.innerText;
-
- chrome.extension.sendRequest({
- message : "routeEvent",
- data : message
- });
- }
-
- function initIndex() {
- document.body.setAttribute('pluginDetected', 'true');
- }
- function initPage() {}
-
- function sendMessage(requestJson) {
- var axureEventDiv = document.getElementById('axureEventReceiverDiv');
- if (axureEventDiv) {
- axureEventDiv.innerText = requestJson;
- axureEventDiv.dispatchEvent(_routedEventObject);
- }
- }
- function onRequest(request, sender, callback) {
- if (request.message == 'routeEvent') {
- sendMessage(request.data);
- }
- };
- chrome.extension.onRequest.addListener(onRequest);
- })();
|