2016-01-11 29 views
12

Używam nw.js do aplikacji komputerowej html/css/js i nie można całkowicie usunąć kursora myszy w trybie pełnoekranowym.Nie można całkowicie usunąć kursora myszy w aplikacji nw.js

enter image description here

Usunąłem go przez ustawienie właściwości css cursor: none, margin: 0, padding: 0 na ciele/html. A także toolbar: false i fullscreen: true są ustawione w package.json. Ale kursor jest widoczny kilka pikseli na wszystkich krawędziach ekranu (obrazek poniżej).

enter image description here

Dziwne zachowanie, czy ktoś wie jak całkowicie go usunąć?

UWAGA: To jest właśnie problem w NW.js, jak to działa doskonale we wszystkich przeglądarkach, a także w xulrunner, jak migracja w spółce z xulrunner do węzła-WebKit (nw.js) Wszystkie wnioski mam ten problem.

+0

Czy Twoje ciało ma wzrost i szerokość 100%, może niektóre z pikseli są poza ciałem. Spróbuj ustawić kursor css: brak tagu html też –

+0

Tak jak napisałem w opisie, 'cursor: none' jest ustawiony dla znaczników treści i html. – swolfish

+0

czy kursor pojawia się w określonych obszarach lub pojawia się losowo? – Aziz

Odpowiedz

3

Podejrzewam, że inny element stosuje się cursor:auto, zasadniczo zastępując regułę CSS.

Rozważmy następujący przykład: podstawowe

html, body { 
 
    background:#000; color:#FFF; 
 
    padding: 0; margin: 0; 
 
    text-align: center; 
 
    cursor:none; 
 
} 
 

 
div { 
 
    margin:2em; 
 
    padding:1em; 
 
    background:#555; 
 
    cursor:auto; 
 
}
<div> 
 
    <p>This div has cursor:auto</p> 
 
</div>

Jak widać, element dostaje normalny kursor ponieważ ma cursor:auto regułę. Ponieważ nie podałeś kodu, nie wiem dokładnie, który element otrzymuje regułę, możesz sprawdzić w devtools, aby go złapać. W przeciwnym razie, można zastępują wszystkie reguły kursor z tej linii CSS:

* { cursor: none !important; } 

i zobaczyć, że w akcji:

html, body { 
 
    background:#000; color:#FFF; 
 
    padding: 0; margin: 0; 
 
    text-align: center; 
 
    cursor:none; 
 
} 
 

 
div { 
 
    margin:2em; 
 
    padding:1em; 
 
    background:#555; 
 
    cursor:auto; 
 
} 
 

 
* { cursor: none !important; }
<div> 
 
    <p>This div has cursor:auto but gets overriden</p> 
 
</div>


EDIT: iframe

Kursora nie można ukryć w dokumentach załadowanych za pomocą iframe. Numer iframe wymagałby lokalnej reguły CSS.

See iframe demo: https://jsfiddle.net/azizn/rr7bsrc7/1/

+0

Dzięki za miłe wyjaśnienie, ale problem jest w NW.js, ponieważ w jakiś sposób przesłonił styl lub lepiej powiedział ignoruje. – swolfish

+0

Może zastąpić inną ważną zasadę, która ma większą specyfikę. Jeśli masz wersję demonstracyjną na żywo, mogę na nią spojrzeć i zobaczyć, co to powoduje. – Aziz

+0

Jak napisałem w opisie, wszystkie nasze aplikacje mają ten problem z webkitem, w przeglądarkach i na pełnym ekranie xulrunnera wszystko jest w porządku. Ale dzięki. ;) – swolfish

1

Mam również ten sam problem. Myślę, że najlepszym rozwiązaniem dla nas byłoby przejście na Electron lub czekanie, aż zostanie wydana stabilna wersja 0.13 nw.js.