カテゴリ:Webがらみ( 52 )
IEでYoutubeで迷惑ソフトの広告を防ぐ
知人からの相談で最近youtubeをみるとかなりの頻度で、「PCに生じた問題をすぐ解決してください。今すぐ修復」というメッセージが表示されるのでなんとかしてほしいとのことでした。
実際リモートで確認すると以下のように表示されてました。
e0091163_1322591.jpg


この広告をクリックすると以下のようなサイトが表示されました。
e0091163_132291.jpg


WinZip System Utilities Suite といういかにも怪しげなページが表示されます。
調べてみるとあの圧縮解凍ソフトで有名なところが販売しているようですが、インドの Systweak Software が提供してる Advanced System Optimizer のOEMだそうです。
インストールするとエラーが相当数見つかったのでお金払って買ってねという迷惑ソフトのようです。
圧縮解凍で老舗なところが、迷惑ソフトまで出すようになったのは残念なことです。(そうでもしないと収益があげられない、つまりソフト自体だけでは経営できないという昨今のパッケージソフトメーカーが抱える問題だとは思うんですが、、、、)

知人はIEを使っており、広告を消したいということだったので、急ぎ「Adblock Plus for Internet Explorer」をここを参考にして入れました。

その後いろいろ調べてると、Right Media社のクッキーが入ってるとWinZip System Utilities Suiteの広告がよく出てくるようです。

なのでCookieをブロックするといいようです。
(インターネットオプション→プライバシータブ→詳細設定→サードパーティのCookieをブロックする)
更に、IEの追跡防止機能を有効にするといいようです。
(IEの追跡防止機能は良く知らなかったんですが、有効にするとリストに記載されたすべてのサイトのサード パーティコンテンツ(Cookieも)をブロックするようです)

追跡防止を有効にするには、IE(11の場合)のツール→アドオンの管理→追跡防止→追跡防止リストをオンラインで取得→Internet Explorer ギャラリーが開くのでリストを追加します。
Google関係の広告を止めるリストを追加すればOKのようです。


参考:
グーグルAdSense広告を消したい「Ads by Google」「AdChoices」ブロック - WinZipシステムユーティリティスイートに注意!
YouTubeに迷惑広告が出るんですが、yontooかなと思ってみてみてもどこにもありませ... - Yahoo!知恵袋
Internet Explorer で追跡防止を使用する - Microsoft Windows ヘルプ
Internet Explorer の追跡防止
YouTubeの広告を消す色々な方法まとめ!
[PR]
by jehoshaphat | 2014-01-30 13:24 | Webがらみ | Trackback | Comments(0)
FlashPlayer11.5にしたらIEでWebページが応答しなくなった
Windows MultiPoint Server 2011を使っています。
IEは9で、FlashPlayerのプラグインを入れています。

FlashPlayerを最新版(11.5.502.110)にアップデートしたところ、Flashを使っているページが軒並み応答なしの状態になりました。
IEをセーフモード(アドオン無し)で起動すると正常に表示されます。

仕方ないので、一回FlashPlayerをアンインストールし、保存しておいた11.4.402.278をインストールしようとしましたが、ゾンビファイルが残っているらしく旧バージョンはインストール出来ないと言います。

Flash Player をアンインストールする方法からアンインストーラーを手に入れ、実行し、一回再起動して11.4.402.278を入れたらすんなり入りました。

試しにFlashコンテンツを含むWebページを開くと正常に動作しました。

原因はわかりませんが、Webが正常表示されないと困りますね。
[PR]
by Jehoshaphat | 2012-12-04 01:38 | Webがらみ | Trackback | Comments(0)
(JavaScript)IE環境でUniform Selectボックスを表示するときの注意
IEで Uniform の Select Option を使う時に、Optionに表示する文字列が短いと、下図のようにドロップダウンしない領域が出てきます。(IE7,8で確認)
(Firefox,Chromeはそのようなことは有りません)
e0091163_13532061.jpg


その場合、以下のように、select のスタイルシートで、widthを指定すると回避できるようです。
(165ピクセルくらいがちょうど良いです。)
<select  style="width:165px">
<option value="1">abc</option>
<option value="2">hgc</option>
<option value="4">rebc</option>
</select>


widthを指定すると、以下のようにドロップダウンメニューの幅が広がります。
e0091163_13532677.jpg

[PR]
by Jehoshaphat | 2012-11-24 23:52 | Webがらみ | Trackback | Comments(0)
(jQuery)同じクラス名のオブジェクトを一斉操作
jQueryでは、セレクタとして #id名 を使うことが多いかもしれませんが、クラスを指定することも出来ます。
クラスは .クラス名 で指定すると、そのクラス名のものを配列として扱います。

以下のようなクラス名 test,test2 を持つDIV要素とinputボタンがあるとします。
<input type="button" id="chgcolor" value="色チェンジ" >
 
<div id="test01" class="test">aaa</div><br>
<div id="test02" class="test">bbb</div><br>
<div id="test03" class="test">ccc</div><br>
<div id="test04" class="test2">eee</div><br>


inputボタンを押下すると、testのクラス名のDIVの文字色を赤に変えるという操作をするには、jQueryを使うと以下のように出来ます。
$(function(){
$("#chgcolor").click(function(){ //inputボタン押下時のイベントハンドラ
//testクラスを持つ要素をループ
$(".test").each(function(){
//文字色変更
$(this).css("color", "red");
});
 
/* 以下のようにもできる。
var selcts = $(".test");
for ( var i=0 ; i<selcts.length ; i++){
//文字色変更
$(selcts[i]).css("color", "red");
}*/

});
});

[PR]
by Jehoshaphat | 2012-11-18 22:01 | Webがらみ | Trackback | Comments(0)
(JavaScript)Uniformを使うとselect要素の値がjQueryから操作できない
(Ajax,PHP)Ajaxを使って入力フォームに戻ったときに値を再セットするで入力フォームに戻ったときに値を再設定する方法を書きました。
しかし、フォームのデザインを良くするために、Uniformを使うと、select タグの表記が変わりません。
(Uniformについては、(HTML)Uniform 入力フォームの見栄えを良くするスクリプト+CSS 参照)

Firebugで見ると、実際のselectタグは変わってるようなんですが、Uniformでタップして表示している部分が変更されないようです。
(Uniformはselectタグの実体は非表示にし、selectedが付いているテキストを span タグ内で表示するような仕様になっています。)

ということで、値をフォームに再セットするときに、Uniform側のテキストも変更するようにするため、下記のようにコードを直してみました。
(uniformのid名は,既存のid名の前に、"uniform-" という文字列をつけるだけという仕様を使ってます。また、各タグのid名とnameの値は同じにしています。)
function SetValue(){
$.getJSON(
"GetInputData", //アクセス先
function(data,status){
if ( data ){
for (var key in data) {
$("*[name=" + key + "]").val(data[key]) ;
//selectタグなら
if ( $("*[name=" + key + "]")[0].nodeName == "SELECT" ){
//uniform
$("#uniform-" + key).children("span").html( $("*[name=" + key + "]").children(':selected').text() );
}
}
}
}
);
}

[PR]
by Jehoshaphat | 2012-11-18 21:36 | Webがらみ | Trackback | Comments(0)
(jQuery)ID名,セレクトタグの選択値の取得方法
jQueryで、$(this) を使って操作していると、こいつのIDは何だっけ?って時があります。
以下のようにすれば id 名を取得できるようです。
$(this).attr("id");

要は、idも属性の一つということですね。


また、selectタグで、現在選択している値を取得するには以下のようにすればいいようです。
$("#hoge").val()
$('#hoge').children(':selected').val();



値ではなく、テキストはvalを text に変えればいいようです。
$("#hoge").text()
$('#hoge').children(':selected').text();


参考:
jQueryでオブジェクトのid名を取得する方法 for WEB屋
jQueryによるフォーム部品操作のレシピ - むつらつれづれ
[PR]
by Jehoshaphat | 2012-11-18 20:42 | Webがらみ | Trackback | Comments(0)
(JavaScript)jQueryで選択した要素のタグ名を取得したい
jQueryでidやnameを使って要素を選択しますが、選択した要素のタグを知る方法です。
以下のようにすればいいようです。


●HTML側
<select id="hoge" name="hoge">
<option value="1"> hoge1</option>
<option value="2"> hoge2</option>
<option value="3"> hoge3</option>
</select>
<input type="button" onclick="return getTagName()" value="タグゲット">



●JavaScript側
function getTagName(){
alert( $("#hoge")[0].nodeName );
}

実行結果は "SELECT" となります。


参考:
javascript or JQuery でタグ名(node名)取得 メモ | MatsudaPress
[PR]
by Jehoshaphat | 2012-11-18 00:33 | Webがらみ | Trackback | Comments(0)
(JavaScript)jQueryを使って外部JavaScriptを動的に読み込む
Ajaxなページを作っていると、JavaScriptファイルも動的に読み込ませたくなります。
jQueryを使うと簡単に外部JavaScriptファイルを読みこませるできます。

こんな感じです。
$.getScript("./test.js", function(){
});



もし、読み込んだ後に、処理したければコールバック関数に処理を書いてやればOKです。
$.getScript("./test.js", function(){
alert("読み込み完了");
hoge();
});


jQueryってほんと便利ですね。

参考:
[jQuery] 外部JavaScriptファイル読込みに関する考察|A Day In The Boy's Life
逆引きjQuery:非同期でJavaScriptのコードを取得するには? - @IT
[PR]
by Jehoshaphat | 2012-11-12 01:54 | Webがらみ | Trackback | Comments(0)
(JavaScript)連想配列のループ
JavaScriptにはPHPやC#で言う所のforearch構文の代わりに、for in 構文でループが出来るようです。
こんな感じ。
var arytest = { "name" : "安部礼司", "age":39 , "nickname":"平均", "bloodtype":"A" };
for (var key in arytest) {
if ( key == "bloodtype" ) break;
alert("キー:" + key + " 値:" + arytest[key]);
}



ちなみに、jQueryを使って配列をforeach的に処理することも可能なようです。
var arytest =  { "name" : "安部礼司", "age":39 , "nickname":"平均", "bloodtype":"A" };
jQuery.each(arytest, function(key, value) {
if ( key == "bloodtype" ) return false; //ループを抜けるときはfalseを返す。
alert("キー:" + key + " 値:" + value);
});


参考:
JavaScript の配列と連想配列の違い - IT戦記
JavascriptでPerlやPHPのforeachするスクリプトの書き方 - Layer8 Reference
jQuery.each(object, callback) - jQuery 日本語リファレンス
jQuery for each 連想配列 - mmj
[PR]
by Jehoshaphat | 2012-11-12 00:51 | Webがらみ | Trackback | Comments(1)
(JavaScript)jQueryでテキストボックスに入力ヒントを表示する
最近、入力フォームのテキストボックスに予めヒントの文字列が入っており、フォーカスが入るとヒントが消え、テキストが入力できるようになるみたいなWEBが増えています。
それを jQuery を使って実装してみました。

参考にさせてもらったのは、フォームに入力ヒントを与えるjQuery - YATのBlog非フォーカス時にヒントの表示されるテキストボックス - jQuery 日本語リファレンスです。

HTML側はこんな感じです。
<form  method="post" action="Check" id="input">
<!-- title属性にヒントとなる文字列を入れておく -->
<input type="text" title="備考を入力。" id="memo" name="memo" class="input_hint">
<input type="submit" value="送信">
</form>



CSS側
/*ヒント用スタイルシート*/
input.input_hint{
color:#666666;
}



JavaScript側
$(function(){
//テキストボックスの値に、title属性に設定しているヒントを表示
$("#memo").val( $("#memo").attr('title') );
textFill($('#memo'));

//フォーカスによって、テキストボックスの値を変えるための関数。
function textFill(input){
var originalvalue = input.attr('title');
input.focus( function(){
//フォーカスが入ったとき
if( $.trim(input.val()) == originalvalue ){
//CSSを直接変更するという方法もあるが、今回はヒント用スタイルシートを外す設定に
input.removeClass("input_hint");
//値をクリア
input.val('');
}
});
input.blur( function(){
//フォーカスが外れたとき
if( $.trim(input.val()) == '' ){
//値が入力されなかったら再度ヒント表示
input.val(originalvalue);
input.addClass("input_hint");
}
});
input.parents('form:first').submit(function(){
//フォース送信時に、ヒントの内容を送らないようにする
if(input.val()==input.attr('title')){
input.triggerHandler('focus');
}
}).end()
}
});

[PR]
by Jehoshaphat | 2012-11-11 21:47 | Webがらみ | Trackback | Comments(0)