1

Я создаю приложение для Chrome Kiosk, которое позволяет пользователю искать в нашей базе данных книги, поэтому это в значительной степени система поиска в библиотеке. Он использует нашу домашнюю страницу нашего веб-сайта, где находится универсальная панель поиска. Когда вы вводите заголовок, он ищет базу данных и отображает результаты в формате книги, в формате аудио и т. Д.Приложение Chrome Kiosk, поддерживающее пользовательский домен

Однако я хочу убедиться, что они остаются в доменном имени, поэтому они не могут пойти в плейбой. com или любой другой веб-сайт, если на то пошло.

Это мой HTML до сих пор:

<!DOCTYPE html> 
<html> 
    <head> 
    <link rel="stylesheet" href="browser.css"> 
    <script src="jquery.min.js"></script> 
    <script src="browser.js"></script> 
    <body> 
    <div id="controls"> 
     <button id="back" title="Go Back">&#9664;</button> 
     <button id="forward" title="Go Forward">&#9654;</button> 
     <button id="home" title="Go Home">&#8962;</button> 
     <button id="reload" title="Reload">&#10227;</button> 
     <form id="location-form"> 
     <div id="center-column"> 
     </div> 
     </form> 
    </div> 
    <webview src="https://thesmartstore.org/in-house-search" style="width:100%; height:100%"></webview> 
    <div id="sad-webview"> 
     <div id="sad-webview-icon">&#9762;</div> 
     <h2 id="crashed-label">Aw, Snap!</h2> 
     <h2 id="killed-label">He's Dead, Jim!</h2> 

     <p>Something went wrong while displaying this webpage. 
     To continue, reload or go to another page.</p> 
    </div> 
    </body> 
</html> 

My Javascript довольно тяжелая, но мне было интересно, если есть способ, белый список только этот домен или убедитесь, что они остаются на домене https://thesmartstore.org/. Пока начало URL начинается с этого, они должны быть хорошими, если нет, я перенаправляю их на домашнюю страницу.

Поскольку Javascript довольно большой, я вставил его в Pastebin: http://pastebin.com/UecgS4sQ

Спасибо за любую помощь!

ответ

0

Лучшего варианта вместо запроса URL и доверия пользователей, мы можем использовать Ajax, а затем получить ответ назад с нашим JSON

function navigateTo(search) { 
    resetExitedState(); 
    var ajax = new XMLHttpRequest(); 
    //any request headers 
    //ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
    ajax.onreadystatechange = function(){ 
    if (ajax.readyState === 4) { 
    if (ajax.status === 200) { 
     //make a function to process the JSON 
     processJSON(); 
     } else { 
     alert('There was a problem with the request.'); 
     } 
    } 
    }; 
    var formData = new FormData(); 
    formData.append('q',search); 
    httpRequest.open('POST', 'https://thesmartstore.org/search.php', true); 
    httpRequest.send(formData); 
} 
+0

Нет, вы можете проверить элемент в приложениях Chrome Kiosk и пожар 'window.location.href = 'http: // google.com /'' и искать все, что вам нравится. Этого я пытаюсь избежать. Полное изменение домена. И похоже, что тег webview должен быть отредактирован, так как это контролирует навигацию приложения хром-киоск. Они довольно забавные разработки мудры ... – HaleyBuggs

+0

Ну, я не уверен на 100%, что приложение киоска сравнивается с другими приложениями, сейчас я читаю об этом. Если это похоже на приложение Chrome, вы можете щелкнуть правой кнопкой мыши во время режима dev, но не во время выпуска. Хотя потом, если я действительно захочу перейти на «www.playboy.com», я бы просто пошел к нему, а не пытался сделать это через ваше приложение. – EasyBB

+0

Да, вы пробовали другие приложения для киосков? Насколько я знаю, в Chrome OS, который отключен мой экран на моем Chromebook, мы не можем щелкнуть правой кнопкой мыши или проверить anyways в приложении, только в режиме dev. И если вы сделаете мое второе предложение, это устранит все суеты и проблемы, пытаясь предотвратить все это. – EasyBB

0

Handle loadstart события в WebView в. https://developer.chrome.com/apps/tags/webview

+1

Короткий образец будет оценен по достоинству, иначе это будет означать только ссылку. – Xan

+0

У меня нет образца; Я никогда не использовал это событие сам. Идите вперед и уменьшите его, если это лучший результат. – sowbug