2013年12月5日 星期四

AngularJs 從外部取得$scope

var appElement = document.querySelector('[ng-app=myApp]');
var $scope = angular.element(appElement).scope();

 $scope.$apply(function () {
             
                $scope.myData.push(  [ViewModel]  );
});

2013年6月12日 星期三

[Jquery]設定物件Focus & 轉動到物件

 var subj = $('#subject' + subjectid);
            if (typeof (subj) != 'undifined') {
                subj.focus();
                $('html, body').animate({ scrollTop: subj.offset().top - 50 }, 'slow');
            }

2013年6月1日 星期六

參考黑暗執行序 動態檢查是不是該引用Js

參考網址
http://blog.darkthread.net/blogs/darkthreadtw/archive/2009/01/15/4061.aspx

來由: 因為專案別的工程師有大量用到Jquery.load 以及iframe頁面,導致 Js Lib引用上會一直出錯
故參考黑大的方法後直接使用動態檢查並載入。


//動態引用並檢查是否有JS,沒有的話重新引入
    (function () {
        function importJS(src, look_for, onload) {
            var s = document.createElement('script');
            s.setAttribute('type', 'text/javascript');
            s.setAttribute('src', src);
            if (onload) wait_for_script_load(look_for, onload);
            if (eval("typeof " + look_for) == 'undefined') {
                var head = document.getElementsByTagName('head')[0];
                if (head) head.appendChild(s);
                else document.body.appendChild(s);
            }
        }
        function wait_for_script_load(look_for, callback) {
            var interval = setInterval(function () {
                if (eval("typeof " + look_for) != 'undefined') {
                    clearInterval(interval);
                    callback();
                }
            }, 50);
        }
        importJS("/Scripts/kendo/2013.1.319/kendo.all.min.js", "kendo", function () {
            importJS("/Scripts/kendo/2013.1.319/kendo.aspnetmvc.min.js", "kendomvc", function () {
            });
        });
    })();

2013年5月24日 星期五

[Jquery]攔截BACKSPACE回上頁的事件


 $(function () {
        var rx = /INPUT|TEXTAREA/i;
        var rxT = /RADIO|CHECKBOX|SUBMIT/i;

        $(document).bind("keydown keypress", function (e) {
            var preventKeyPress;
            if (e.keyCode == 8) {
                var d = e.srcElement || e.target;
                if (rx.test(e.target.tagName)) {
                    var preventPressBasedOnType = false;
                    if (d.attributes["type"]) {
                        preventPressBasedOnType = rxT.test(d.attributes["type"].value);
                    }
                    preventKeyPress = d.readOnly || d.disabled || preventPressBasedOnType;
                } else { preventKeyPress = true; }
            } else { preventKeyPress = false; }

            if (preventKeyPress) { e.preventDefault(); "做你想做的事情"}
        });
    });

2013年5月19日 星期日

[MSSQL][SQL] Show Table MetaData


SELECT
  SCHEMA_NAME(T.schema_id) AS table_schema,
  T.name,
  KC.name AS constraint_name,
  COL_NAME(T.object_id, IC.column_id) AS column_name,
  IC.key_ordinal,
  IC.is_descending_key
FROM
  sys.tables AS T
  INNER JOIN
  sys.key_constraints AS KC
  ON KC.parent_object_id = T.object_id
  INNER JOIN
  sys.indexes AS I
  ON KC.unique_index_id = I.index_id
  AND KC.parent_object_id = I.object_id
  INNER JOIN
  sys.index_columns AS IC
  ON I.object_id = IC.object_id
  AND I.index_id = IC.index_id
WHERE
  T.type = 'U'
  AND IC.is_included_column = 0
  and T.[name] = @tablesname
ORDER BY
  T.object_id,
  IC.key_ordinal;

2013年5月5日 星期日

[氣炸鍋食譜]奶油多利魚(魴魚)魚排

溫度:180
時間:約14~17分鐘
解凍的多利魚直接放上拋好料理紙上面,魚上放奶油及好市多購買的調味粉(無塩)
直接開始烹調。

2013年4月30日 星期二

[KendoUi][MutitSelect]手動新曾MutiliSelect選項並列入選起的狀態


function AddReg()
    {
        var validator = $("#RegList").kendoValidator().data("kendoValidator");
        if (validator.validate())
        {
            var mselect = $('#members').data("kendoMultiSelect");
            var datasource = mselect.dataSource;
            var regnew = $('#mail').val();
            if (regnew.length<=0 )
            {
                return false;
            }
            datasource.add({ "Text": regnew, "Value": regnew });
            var selected = mselect.value();
            var result = [regnew];
            for (var i = 0 ; i < selected.length ; i++) {
                result.push(selected[i])
            }
            mselect.value(result);
            $('#mail').val("");
        }
                             
       
    }

[KendoUI][Grid] Grid手動Regresh


var grid = $("#grid2").data("kendoGrid");
grid.dataSource.read();

[Kendoui][Tab] IFAME模式 每次切換到該頁時,強制Reload的作法


function onActive(e) {
        var tab = $('#tab').kendoTabStrip().data('kendoTabStrip');
        var item = $(tab.element).find("> .k-tabstrip-items .k-state-active");
        tab.reload(item);
    }

//2016
//var tab = $('#F108A02').data('kendoTabStrip');
    //var item = $(tab.element).find(".k-tabstrip-items .k-state-active");
    ////tab.reload(item);
    //var tabStrip = $("#F108A02").kendoTabStrip().data("kendoTabStrip");
    //var index = $(e.item).index();
   
    //var data = tabStrip.items();
    //console.log(data[index].innerText);
    ////tabStrip.reload(data[index].innerText);
    //tabStrip.reload("li:first");

    var tabStrip = $("#F108A02").data("kendoTabStrip");
    for (var idx = 0; ; ++idx) {
        var tab = tabStrip.contentElement(idx);
        if (tab == null)
            break;
        if (tab == e.contentElement) {
        }
        else {
            $(tab).html("");
        }
    }

[KENDOUI] [AutoComeplete]第一次點選的時候出現所有的選項

作法
1. 來源資料後面加上" "
2. 過濾條件要調整成contain
3. JsSctipt如下

var autocomplete = $("#countries").data("kendoAutoComplete");
 autocomplete.list.width(200);      
autocomplete.search(" ");
autocomplete.list.show();

2013年4月27日 星期六

[Entity Framewwork] [DB or Model First] 避免 Entity 轉換JSON時遇到循環參考問題

1. 在EDMX的屬性中 將消極式載入已啟用 SET為FALSE
2. 在Entity  context.Configuration.LazyLoadingEnabled = false;

兩個效果都一樣,可以避免循環參考

[WebApi] 使用上的設定細節


            config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;//1. 正確輸出JSON格式
            config.Formatters.Remove(config.Formatters.XmlFormatter);//移除XML格式輸出

2013年4月16日 星期二

[Windows 8] [IE10] 相容性檢視 Jquery 出現member not foun (找不到成員)的狀況


可以在HEADE加入以下資訊,讓該錯誤被容錯,2013/04/16查詢時,這個問題屬於IE10的相容性檢視BUG
 http-equiv="X-UA-Compatible" content="IE=edge">
錯誤代碼 0x80020003

2013年3月24日 星期日

[Asp.net Mvc]Model Validation

使用Model Validation中[EmailAddress] , [Compare]等等 驗證訊息需要再.net 4.5以上的System.ComponentModel.DataAnnotations

2013年3月17日 星期日

Linq.Dymaic 記事

Linq 動態 OrderBy

var result =  Collection .OrderBy("Column asc")


2013年2月15日 星期五

書籍寫的 加速MVC的方法1

移除Aspx View Engine 在Razor環境下


// 移除ASPX View Engine 加快速度
            ViewEngines.Engines.RemoveAt(0);

            var razorViewEngine = ViewEngines.Engines[0] as RazorViewEngine;

            razorViewEngine.AreaMasterLocationFormats = razorViewEngine.AreaMasterLocationFormats.Where(x => x.EndsWith("cshtml")).ToArray();
            razorViewEngine.AreaPartialViewLocationFormats = razorViewEngine.AreaPartialViewLocationFormats.Where(x => x.EndsWith("cshtml")).ToArray();
            razorViewEngine.AreaViewLocationFormats = razorViewEngine.AreaViewLocationFormats.Where(x => x.EndsWith("cshtml")).ToArray();

            razorViewEngine.FileExtensions = razorViewEngine.FileExtensions.Where(x => x.EndsWith("cshtml")).ToArray();
            razorViewEngine.MasterLocationFormats = razorViewEngine.MasterLocationFormats.Where(x => x.EndsWith("cshtml")).ToArray();
            razorViewEngine.PartialViewLocationFormats = razorViewEngine.PartialViewLocationFormats.Where(x => x.EndsWith("cshtml")).ToArray();

            razorViewEngine.ViewLocationFormats = razorViewEngine.ViewLocationFormats.Where(x => x.EndsWith("cshtml")).ToArray();

2013年1月3日 星期四

FFMPEG 紀錄 from MTS

參考網址 http://jamyy.dyndns.org/blog/2010/11/2851.html

來源: MTS

目標
轉成 VCD 規格 (.MPG)
ffmpeg -i input.MTS -target ntsc-vcd vcd.mpg


轉成 DVD 規格 (.MPG)
ffmpeg -i input.MTS -target ntsc-dvd -ac 2 dvd.mpg


轉成 AVI
ffmpeg -i input.MTS -s hd720 -b 6000k -ar 44100 -ab 224k -ac 2 output.avi

轉成 FLV
ffmpeg -i input.MTS -s hd720 -b 6000k -ar 44100 -ab 224k -ac 2 output.flv 



轉成 MP4
ffmpeg -i input.MTS -s hd720 -b 6000k -ar 44100 -ab 224k -ac 2 output.mp4